国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > this的指向和改變方向

this的指向和改變方向

來源:千鋒教育
發布人:syq
時間: 2022-07-28 15:06:44 1658992004

  1.普通函數調用this的指向window

this的指向和改變方向22

this的指向和改變方向23

  這里this指向的是window

  2.構造函數調用, 此時 this 指向 實例對象

this的指向和改變方向68

this的指向和改變方向69

  這里的this 指向的就是let的 兩個實例對象p1和p2

  3.對象方法調用, 此時 this 指向 該方法所屬的對象

this的指向和改變方向131

this的指向和改變方向132

  4.箭頭函數中this沒有明確指向,會向上一級(宿主對象)尋找

this的指向和改變方向166

  5.通過事件綁定的方法, 此時 this 指向 綁定事件的對象

this的指向和改變方向200

this的指向和改變方向201

  6.定時器中this指向的也是window

this的指向和改變方向225

this的指向和改變方向226

  當this碰到return時 又產生什么呢?

  再看一個

this的指向和改變方向251

  再來

this的指向和改變方向258

this的指向和改變方向263

  什么意思呢?

  如果返回值是一個對象,那么this指向的就是那個返回的對象,如果返回值不是一個對象那么this還是指向函數的實例。

  還有一點就是雖然null也是對象,但是在這里this還是指向那個函數的實例,因為null比較特殊。

this的指向和改變方向264

  知識點補充:**

  1.在嚴格版中的默認的this不再是window,而是undefined。

  二、更改this指向的三個方法

  1.call() 方法

this的指向和改變方向461

this的指向和改變方向462

  沒錯,就像上面說的,普通函數的this指向window,現在讓我們更改this指向

this的指向和改變方向506

this的指向和改變方向507

  2. apply()

this的指向和改變方向520

  apply方法和call方法有些相似,它也可以改變this的指向,也可以有多個參數,但是不同的是,第二個參數必須是一個數組,如下:

this的指向和改變方向588

  **

  //注意如果call和apply的第一個參數寫的是null,那么this指向的是window對象

this的指向和改變方向642

  3.bind()**

  bind方法和call、apply方法有些不同,如下

this的指向和改變方向682

  我們發現代碼沒有被打印,對,這就是bind和call、apply方法的不同,實際上bind方法返回的是一個修改過后的函數。

this的指向和改變方向746

  函數c看看,能不能打印出對象a里面的user

this的指向和改變方向771

  同樣bind也可以有多個參數,并且參數可以執行的時候再次添加,但是要注意的是,參數是按照形參的順序進行的。

this的指向和改變方向827

  總結: call和apply都是改變上下文中的this并立即執行這個函數,bind方法可以讓對應的函數想什么時候調就什么時候調用,并且可以將參數在執行的時候添加,這是它們的區別。

  更多關于“前端培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

  注:本文部分文字和圖片來源于網絡,如有侵權,請聯系刪除。版權歸原作者所有!

 

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT