0

我有一个这样的对象:

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

所以我得到了invalid assignment left hand side包含函数firefox但不是chrome的行。所以我想知道我应该选择哪一个?

谢谢你。

4

1 回答 1

0

使用类似“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;
    }
};
于 2013-06-19T20:13:43.553 回答