對於標題很抱歉,但在這個問題上很難標題(隨便推薦一個更好的標題)。很難解釋有關「this」範圍的JavaScript問題
我的問題是通過這種的jsfiddle最好的解釋:http://jsfiddle.net/ryLhcn4q/2/
CS = {};
CS.OverviewController = {
foo: "bar",
render: function() {
console.log("Rendering. foo = " + this.foo);
}
};
CS.handleClick = function(callback) {
console.log("handleClick");
if (callback) {
callback();
}
};
$("button").click(function(e) {
CS.handleClick(CS.OverviewController.render);
});
如果你點擊該按鈕時,控制檯指示的foo
值undefined
。如何獲得this
的正確範圍,以便控制檯將bar
指定爲foo
的值?
見@BenFortune提供的鏈接就知道發生了什麼有趣的小測驗的第三個問題! –