如何更改对象本身,指向对象的指针,创建另一个对象。
Array.prototype.change=function(b){
// this=b; //does not work
}
a=[1,2,3];
b=[3,2,1];
a.change(b);
console.log(a); // Should be [3,2,1]
另一个例子:
String.prototype.double=function(){
//this+=this; //like str+=str
}
str="hello";
str.double();
console.log(str); // echo "hellohello"
答案 0 :(得分:1)
您可以像这样定义原型:
Array.prototype.change = function (b) {
this.length = 0;
this.push.apply(this, b);
}
在内部,它将清除现有数据并在参数中添加数组中的数据。
这不会使Array成为完全相等的数组b(它们仍然是具有不同引用的不同对象,而a == b
将是false
),但两者中的数据将是相同的。