如何处理'无效赋值left hand '错误:firefox或chrome

Which way to go with 'invalid assignment left handside' error: firefox or chrome?

本文关键字:错误 hand firefox chrome left 赋值 处理 何处理 无效      更新时间:2023-09-26

我有一个像这样的对象:

var myObj = {
    someProp: 1,
    updateObj: function (obj) {this = obj;}
}

所以我得到invalid assignment left hand side在包含firefox功能的行中,但不在铬中。所以我想知道我应该选择哪一个?

谢谢。

用"self"之类的东西代替这个。您正在尝试分配给'this',这是不允许的。

var myObj = {
    someProp: 1,
    updateObj: function (obj) {self = obj;}
}

如果你真的想改变对象的属性,只需重新分配它…

var obj = {
    someProp: 1
};
obj = {
   someProp: 2
};

…或者做一个更显式的更新,如:

var obj = {
    someProp: 1,
    updateObj: function(obj) {
       this.someProp = obj.someProp;
    }
};