读书人

prototype原型的一个有关问题

发布时间: 2012-03-16 16:34:56 作者: rapoo

prototype原型的一个问题
1)
Array.prototype.push = function(value){
this[this.length] = value;
alert( "aaaa ");
return this.length;
}
var testArray=new Array();
var lengthArray=testArray.push( "abc ");
alert(lengthArray);
2)
Array.prototype={
push:function(value){
this[this.length] = value;
alert( "bbbb ");
return this.length;
}
}
var testArray=new Array();
var lengthArray=testArray.push( "abc ");
alert(lengthArray);
------------------------------------------
为什么第一个能ALERT2个但第二个只能ALERT1个
请问2个写法有什么不同吗

[解决办法]
第二个你没调到那个方法,使用了内置的函数
[解决办法]
所有 JScript 内部对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
[解决办法]
http://community.csdn.net/Expert/TopicView3.asp?id=5503463

差不多的问题~

参考

读书人网 >JavaScript

热点推荐