1. 程式人生 > 實用技巧 >js的this指向

js的this指向

看視訊:

https://www.bilibili.com/video/BV1BE411677T

https://www.bilibili.com/video/BV167411v7bB?from=search&seid=2690539284676826260

https://www.bilibili.com/video/BV1NT4y1j7xH?from=search&seid=2690539284676826260

看部落格:

https://www.jb51.net/article/121164.htm: 預設繫結是流浪,隱式繫結是租房,顯示繫結是買房,new繫結是生娃。

https://zhuanlan.zhihu.com/p/38313872

:知乎;

https://blog.csdn.net/u010344410/article/details/90517814:csdn;

https://www.cnblogs.com/xiaohuochai/p/5735901.html: 部落格園;

https://segmentfault.com/a/1190000016678888:segment;

  • 1. this 是什麼
  • 2.this 的四種繫結規則
  • 3. 繫結規則的優先順序
  • 4. 繫結例外
  • 5. 擴充套件:箭頭函式

1this 既不指向函式自身,也不指函式的詞法作用域。如果僅通過this的英文解釋,太容易產生誤導了。它實際是在函式被呼叫時才發生的繫結,也就是說this具體指向什麼,取決於你是怎麼呼叫的函式。

2this的四種繫結規則:預設繫結、隱式繫結、顯式繫結和new繫結。

分別對應函式的四種呼叫方式:獨立呼叫、方法呼叫、間接呼叫和建構函式呼叫。

分清這四種繫結規則不算難,比較麻煩的是需要練就火眼金睛,識別出隱式丟失的情況

1 預設繫結:

 function girl() {
        console.log(this);
 }
 girl();

2 隱式繫結: 函式呼叫。會發生繫結丟失。

3顯示繫結:call apply bind

4new繫結。