2017-03-03 59 views
1

這是一個關於術語的問題。詞法相反

考慮到存在使用詞彙this的方法:

var foo = { 
    method: function() { 
    console.log(this, ' is the context'); 
    } 
}; 

foo.method(); 

什麼是對this常規術語時,當被綁定到不同的環境或脫離被調用的方法?

bazThatAcceptsACallback(foo.method); 
foo.method.bind(baz)(); 
(0, foo.method)(); 

我常常把它作爲「非本詞彙」或在這種情況下,「情境這個」,但我從來沒有在正式的或受信任的來源滿足這些或類似術語。

+1

這是「詞法'這個'」嗎? – melpomene

+0

這裏的措辭可以做更多的澄清。你的意思是定義該函數的範圍(例如,在這種情況下爲「foo」)與它被調用的上下文('this'可能指或不指'foo')是什麼關係? – apokryfos

回答

4

詞彙this的反義詞是dynamicthis

但是,請注意,詞彙this不是您在function片段中顯示的內容,而是箭頭函數所具有的this

+0

謝謝,動態範圍反對靜態範圍在這裏非常有意義。 – estus

1

您不需要使用不同的術語來描述JS詞彙this所涉及的行爲。它始終是函數被調用的「上下文」。讓它成爲父對象或另一個綁定 - 您始終可以說詞法this表示上下文。