js中this的指向問題?(普通函數)

 

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.**都爲undefinedimg

2、this指向的改變;

  

相關文章
相關標籤/搜索