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


 

一、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指向的改變;

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM