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繫結。