document.querySelectorAll('a')
和document.getElementsByTagName('a')
类型都是对象,所以我不能以这种方式添加方法:
Object.prototype.method = function(){ alert(this); }
但是,这项工作:
a = document.getElementsByTagName('a');
a.__proto__.__proto__.method = function(){ alert(this); }
a.method();//object HTMLCollection
我想a.__proto__ == a.constructor.prototype
,是吗?
答案 0 :(得分:0)
可以使用Object.prototype。但是我不建议搞砸它。
instance_of_my_object = document.getElementsByTagName(' a'); 是您的Object的单个实例。在这种情况下,instance_of_my_object是NodeList instance_of_my_object.method = ... 将您的方法或变量附加到此单个NodeList实例。
如果要将某些方法附加到类的所有实例,则可以使用原型(如下所示: className.prototype.myMethod = function()... )。