Object.prototype=[]
console.log(Object.prototype);
为什么无法改变Object.prototype?
我想执行如下效果
var numbers = ['zero','one','two','three','four','five','six','seven','eight','nine'];
var numbersObject={
0:'zero',1:'one',2:'two',3:'three',4:'four',5:'five',
6:'six',7:'seven',8:'eight',9:'nine'
}
Object.prototype=Array.prototype;
numbersObject.push('ten'); //报错,说没有push方法
numbersObject.length;//如果上面那句不报错,应该可以输出11
还有Object.prototype是只读的,并且指向空。看这里[url]http://hi.baidu.com/lansesansan/blog/item/43aa41c0d8aa5c170ff47766.html[/url]
push属于Array的函数,只有数组对应才可以使用push函数,上面的你把numbersObject换成numbers 就好了,输出也是11.
numbers .push('ten');
numbers .length;//可以输出11
是一个key-value对象,或者说是json对象,他不是数组,没有push方法的。