如何用javascript编写mutator方法?
该代码在左侧引发了一个如何用javascript编写mutator方法?,javascript,Javascript,该代码在左侧引发了一个无效的赋值错误 如何在他的方法中更改对象本身?您不能更改指向的对象的引用,它是不可变的 如果要清除当前数组,只需将其length属性设置为零: Array.prototype.clear = function(){ this = new Array(); return true; } 编辑:查看对佐助答案的评论,您可以像我的第一个示例中那样清空数组,然后推送另一个数组的元素,例如: Array.prototype.clear = function(){
无效的赋值
错误
如何在他的方法中更改对象本身?您不能更改指向的对象的引用,它是不可变的 如果要清除当前数组,只需将其
length
属性设置为零:
Array.prototype.clear = function(){
this = new Array();
return true;
}
编辑:查看对佐助答案的评论,您可以像我的第一个示例中那样清空数组,然后推送另一个数组的元素,例如:
Array.prototype.clear = function(){
this.length = 0;
return true;
};
您不能更改指向的对象的引用,它是不可变的
如果要清除当前数组,只需将其length
属性设置为零:
Array.prototype.clear = function(){
this = new Array();
return true;
}
编辑:查看对佐助答案的评论,您可以像我的第一个示例中那样清空数组,然后推送另一个数组的元素,例如:
Array.prototype.clear = function(){
this.length = 0;
return true;
};
那么:
Array.prototype.test = function () {
var newArray = ['foo', 'bar']; // new array elements
this.length = 0; // empty original
this.push.apply(this, newArray); // push elements of new array
};
那么:
Array.prototype.test = function () {
var newArray = ['foo', 'bar']; // new array elements
this.length = 0; // empty original
this.push.apply(this, newArray); // push elements of new array
};
如果我希望我的数组在方法运行后等于['此数组已被清除]
,该怎么办?@Erik,您可以随时检查数组的长度属性。实际上不需要“isCleared”状态。如果我希望我的数组在方法运行后等于[“此数组已被清除”]
,该怎么办?@Erik,您可以随时检查数组的长度属性。我不知道是谁投票否决了你,但是你的帖子比我的内容更丰富;尤其是这部分的不可更改性+我不知道是谁否决了你,但你的帖子比我的内容更丰富;尤其是这部分的不可更改性+从我这里得到1。