你不知道js系列之判斷this

今天看了你不知道的javascript這本書,看到了一個我覺得很重要的點,判斷this!
這裏有四種方法判斷this的指向,準確的說是四步順序:
1.函數是否在new中調用?如果是的話this綁定的是新創建的對象

var bar = new foo();

2.函數是否通過call、apply或者硬綁定調用?如果是的話,this綁定的是指定的對象。

var bar = foo.call(obj);

3.函數是否在某個上下文對象中調用?如果是的話,this綁定的是那個上下文對象

var bar = obj.foo();

4.如果都不是的話,使用默認綁定,在嚴格模式下,就綁定到undefined,否則就綁定到全局對象。

var bar = foo();

這四步真的很重要,在平時我們都是可以用的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章