我很好奇,如何能更好地這樣寫:JavaScript的變量範圍在回調中
function Klass(variable) {
this.variable = variable;
this.callAjax = function() {
$.get('/url', { }, function(json) {
console.log(variable); //! <-- shows undefined
}, "json");
}
}
所以我創建了一個局部變量:_variable
function Klass(variable) {
this.variable = variable;
this.callAjax = function() {
var _variable = this.variable;
$.get('/url', { }, function(json) {
console.log(_variable); //! <-- its ok
}, "json");
}
}
和罰款,但我真不」 t這個解決方案,
是否有人有更好的代碼?
'無功自我= this' – 2013-02-28 07:41:21
'$獲得(...函數(){...}綁定(本)。)' – 2013-02-28 07:41:48
我看不到爲什麼'console.log(variable);'應該顯示'undefined'。 'variables'應該引用構造函數的參數。你是否將'undefined'傳遞給構造函數並稍後設置'this.variable'? – 2013-02-28 07:47:10