2014-07-27 146 views
1

如何使用函數的上下文來執行此匿名函數?從函數調用匿名函數

function test(text) { 
    this.first = 'test'; 
    console.log(this.first); 
} 


(function(val){ 
    return function(val) { 
     console.log(this.first); 
    } 
}()).call(test) 
+2

呃 - 你爲什麼要? – FoggyDay

+2

因爲我在學習javascript。我們能不能堅持這個問題,爲什麼我不應該爲此尋求答案。 – seasick

+1

我真的不建議在學習JavaScript時使用OOP工具(如'this')。 –

回答

0

我相信你會得到什麼this將是testtest.prototype範圍內的值。

1

我沒有incluse var self = this;在進入返回功能之前:

(function(val){ 
    var self = this; //add this line 
    return function(val) { 
     console.log(self.first); 
    } 
}()).call(test)