如何解决分配Object.prototype会导致jQuery问题
| 我正在尝试为Object.prototype.equals分配一个函数,类似于在JavaScript中进行对象比较的过程。该函数运行完美,但是每当有jQuery时,都会出现类似以下错误: name.replace不是函数 引用jquery-1.6.1.js中的6490行。 有谁知道为什么会这样?解决方法
不要用猴子补丁
Object.prototype
。
Object.prototype.replace = \"lol\";
for (var i in { \"bar\": 42 }) {
alert(i);
}
// \"bar\"
// \"replace\" :(
基本上,“ 2”循环遍历对象中的所有属性,包括原型中定义的属性。这就是为什么扩展或更改ѭ0真的是不好的做法。
有些人甚至走到“不要猴子补丁Array
,String
,Function
,... \”。
切勿将ѭ0弄乱。其余的本机原型都是样式选择。
在Object
上定义功能。
Object.replace = function() { ... };
var o = Object.replace(p);
ES5:
使用ecmascript 5,您可以将属性设置为不可枚举
Object.defineProperty(Object.prototype,\"replace\",{
value: function() { }
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。