分配中的左侧无效,"this = xxx"
Invalid left-hand side in assignment, "this = xxx"
我想在String中添加拼接功能,就像Array的拼接功能一样。这就是代码
String.prototype.splice = function(start, len, substr) {
var p = this.split('');
p.splice(start, len, substr);
this = p.join('');
return this;
}
会显示
Uncaught ReferenceError: Invalid left-hand side in assignment(…)
您无法重新分配 this
。尝试声明一个变量并使用它:
String.prototype.splice = function(start, len, substr) {
var p = this.split('');
p.splice(start, len, substr);
var joinedArray = p.join('');
return joinedArray;
}
this
是引用,不是对象。这就是我们所说的 "immutable".
您不能重新分配 this
因为 this
值根据定义是不可变的,您不能以这种方式更改它引用的内容。
您只需
替换
this = p.join(''); return this;
和
return p.join('');
我想在String中添加拼接功能,就像Array的拼接功能一样。这就是代码
String.prototype.splice = function(start, len, substr) {
var p = this.split('');
p.splice(start, len, substr);
this = p.join('');
return this;
}
会显示
Uncaught ReferenceError: Invalid left-hand side in assignment(…)
您无法重新分配 this
。尝试声明一个变量并使用它:
String.prototype.splice = function(start, len, substr) {
var p = this.split('');
p.splice(start, len, substr);
var joinedArray = p.join('');
return joinedArray;
}
this
是引用,不是对象。这就是我们所说的 "immutable".
您不能重新分配 this
因为 this
值根据定义是不可变的,您不能以这种方式更改它引用的内容。
您只需
替换
this = p.join(''); return this;
和
return p.join('');