当前位置: 首页 > 面试题库 >

Javascript中的原型对象破坏了jQuery?

程阳平
2023-03-14
问题内容

我在页面上添加了一个简单的.js文件,该文件在ObjectArray原型中添加了一些非常普通的常见任务功能。

经过反复试验,我发现向,添加任何函数Object.prototype,无论其名称或功能如何都会导致jQuery中的Javascript错误:

罪魁祸首?

Object.prototype.foo = function() {
    /*do nothing and break jQuery*/
};

jquery-1.3.2.js在attr:function {}声明中得到的第1056行的错误:

/*Object doesn't support this property or method*/
name = name.replace(/-([a-z])/ig, function(all, letter) {
            return letter.toUpperCase();
        });

显然G.replace是未定义的。

很明显,有些事情我只是没有用原型制作而已,但我很痛苦地未能弄清楚它是什么。

明确地说,我不是在寻找解决方法,而是已经解决了……我正在寻找的是 为什么 的答案
。为什么添加一个函数来Object.prototype破坏这段代码?


问题答案:

如果仅是在循环中弄乱…的情况,您是否可以使用Object.defineProperty来添加fn而不使其成为可枚举的?

所以:

Object.defineProperty(Object.prototype, "foo", { 
    value: function() {
        // do stuff
    },
    enumerable : false
});

似乎为我工作。还是会认为这是错误的形式?



 类似资料:
  • 可能是一个有点傻的问题,但我只是一个初学者,有些事情我正在努力正确理解。 当我们有这样的代码时: 这里到底发生了什么?我们是否正在从getUserProfile对象中分解userName,以便能够访问该属性?userId是否意味着getUserProfile函数有一个参数,该参数是一个具有userId属性的对象? 对不起,如果这是一个太初学者的问题,但如果有人有时间向我解释,请真的很感激。

  • 问题内容: 我知道,在同一句子中使用JavaScript和’atomic’一词有点奇怪,因为JavaScript被认为是异步的,因此不是很原子。 //编辑这是我的错误!通过关闭警报(并在chrome中隐藏其他警报),警报迅速中断并让其他代码运行。JavaScript是单线程的。 快速- >实际问题; 在哪种情况下,我们可以从异步回调中断中保存代码,如何防止某些代码块使用它们? 长- >我的场景;

  • 我使用悬停库创建一个动画时,用户悬停在一个

  • 本文向大家介绍Javascript中获取对象的原型对象的方法小结,包括了Javascript中获取对象的原型对象的方法小结的使用技巧和注意事项,需要的朋友参考一下 在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢? 在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象。 但是,__proto__属性在

  • 本文向大家介绍图文详解JavaScript的原型对象及原型链,包括了图文详解JavaScript的原型对象及原型链的使用技巧和注意事项,需要的朋友参考一下 对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张所谓很经典的图,上面画了各种线条,一会连接这

  • 本文向大家介绍举例说明JavaScript中的实例对象与原型对象,包括了举例说明JavaScript中的实例对象与原型对象的使用技巧和注意事项,需要的朋友参考一下 首先声明:javascript中每个对象都有一个constructor属性和一个prototype属性。constructor指向对象的构造函数,prototype指向使用构造函数创建的对象实例的原型对象。 在这段代码中会报错,sayN