0
我有一個這樣的對象:「無效分配左側」錯誤:firefox還是chrome?
var myObj = {
someProp: 1,
updateObj: function (obj) {this = obj;}
}
所以我得到的含firefox
的功能就行了invalid assignment left hand side
但不是在鉻。所以我想知道我應該選擇哪一個?
謝謝。
我有一個這樣的對象:「無效分配左側」錯誤:firefox還是chrome?
var myObj = {
someProp: 1,
updateObj: function (obj) {this = obj;}
}
所以我得到的含firefox
的功能就行了invalid assignment left hand side
但不是在鉻。所以我想知道我應該選擇哪一個?
謝謝。
使用像「自我」而不是這個。你正試圖分配給'這'是不允許的。
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;
}
};
'self'是'window'的同義詞,請使用'var'來避免衝突。 – Teemu
'這是一個預定義的關鍵字,你不能重新定義它。鉻也給出了相同的錯誤,因爲任何其他瀏覽器將... – Teemu
我只注意到,鉻也給這個錯誤,當我實際上調用函數,但不是爲了聲明。 –
是的,瀏覽器分析代碼的方式不同,有些會在使用前檢查語法(每次使用時都會分析一個字面對象)。 – Teemu