一、this的指向:
①
這是this只是一個普通函數,此時this沒有被任何事件調用,那么this的指向就是window對象。
②
當this的外層有包裹時,this為他緊上一層的對象,在此可以看出當打印為零時,this為fun,而當打印為3時,this的指向為a。
③
此時,外部的b對內部沒有絲毫影響,打印的b永遠都是1,
④
此時,將第一個b的聲明方式改為let,我們都知道let作為ES6提出的新的聲明方式,他是不能被聲明的,但那僅限於一個作用域下,所以此時不會報錯,fun.a()的this為fun本身,所以打印為3,而執行c()時的this為window,所以打印undefined;
注:當this本身處於window時,this.**都為undefined;
二、this指向的改變;