我經常使用這樣的結構:將變量傳遞給JavaScript函數的上下文
var $this, url, callback; //some private vars
loadCallback = function($that, url, callback) {
return function(responseText, textStatus, req) {
...
};
})($this, url, callback)
然而,是不是很舒服。有其他選擇嗎?
我已經看過jQuery.proxy,但該函數似乎修復了「this」變量,因此loadCallback無法調用應用另一個「this」上下文。
還有其他方法可以做到這一點,但他們通常都會做同樣的事情。您可以更改上下文,傳遞其他參數,也可以將其存儲在父範圍(或子範圍有權訪問的任何範圍)中 –