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