为什么classList不是Element.prototype的一个属性?因为元素具有classList属性,所以我会自动假设它在元素的prototype中,但显然不是。那它在哪?
Chrome的控制台:
> Element.prototype.classList
undefined
> document.createElement().classList
DOMTokenList发布于 2013-08-07 01:57:07
它必须是每个Element实例的属性,因为如果它位于Element原型上,那么所有元素都将共享相同的类列表,就像Array的.length属性必须位于每个数组实例上一样,或者所有数组的长度相同。
发布于 2013-08-07 01:59:18
除了nnnnnn的答案之外,大多数实例变量都是在构造函数中分配的。
function foo(){
this.bar = "baz";
}
foo.prototype.bar // undefined
new foo().bar // "baz"函数被添加到原型中(通常,但它们也可以在构造函数中设置)。
https://stackoverflow.com/questions/18093374
复制相似问题