前端中的this,指的是什麼?
想要學習前端,短時間內是比較困難的,web前端要學習的內容有很多,今天小編就為大家詳細的介紹一下前端中的this,指的是什麼?來看看下面的詳細介紹。
前端中的this,指的是什麼?
1.this是什麼
this 是 JavaScript 中的一個關鍵字。依賴於函式呼叫的上下文條件,與函式被呼叫的方式有關。它指向誰,完全是由函式被呼叫的呼叫點來決定的。
所以,this,是在執行時繫結的,與編寫時的繫結無關。隨著函式使用場合的不同,this 的值也會發生變化。但是有一個總的原則:那就是this 總會指向呼叫函式的那個物件。
ES6中箭頭函式的不繫結this。在判斷this的指向時,將其看作普通的方法即可。普通的方法中的this指的是包含它的函式的this。這樣一來this的指向就清楚了。
2.call/apply
this的指向可以透過呼叫物件的改變而改變,也可以透過call/apply來改變。
呼叫方法為Function.call(obj,...args)/Function.apply(obj,args)。它是說用obj這個上下文去呼叫Function。他們的區別在於args的型別。
3.原生實現call和apply
最簡單的call是如何呼叫的 func.call(obj)(obj可能為null)。
分析該程式碼:某個函式要呼叫這個方法call,證明原生實現的方法mycall應該是函式原型上的一個方法。
因此原生call的實現方法如下:
myApply的實現和myCall的實現類似,只是傳輸引數的方式不同而已。
4.bind是什麼
呼叫方法為func.bind(obj,[...args]),它會返回一個函式,這個函式是將obj繫結到func的this上之後返回的函式。
bind的呼叫方式為: func.bind(obj),因此同樣還是要在函式的原型上面寫。
原生實現bind的方法為:
5.結束語
this 總是指代了函式當前的執行環境,依賴於函式在呼叫時的上下文,只有在函式執行時才會進行繫結。想要判斷this的指向,只需要記住:this 總會指向,呼叫函式的那個物件。
以上關於“前端中的this,指的是什麼?”的內容希望能夠幫助到正在學習web前端技術的同學。想要了解更多 web前端的具體內容就關注小千,後期繼續為大家分享更多前端知識。
本文來自千鋒教育,轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2790499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle中schema指的是什麼?Oracle
- 招標投標中的暫估價指的是什麼?
- 前端路由指的是什麼?它有什麼好處?它有哪些方式可以實現呢?前端路由
- javascript的垃圾回收機制指的是什麼?JavaScript
- javascript的垃圾回收機制指的是什麼JavaScript
- 你知道什麼是“銀彈”嗎?它指的是什麼?
- 伺服器發包指的是什麼?有什麼作用?伺服器
- FTP指的是什麼協議?由什麼組成?有什麼作用?FTP協議
- Deno 相容瀏覽器具體指的是什麼?瀏覽器
- java程式碼初始化塊指的是什麼Java
- 企業的資料中臺到底指的是什麼?_光點科技
- 資料治理:資料標準管理指的是什麼?
- 你知道著名的3畫素Bug指的是什麼嗎?怎麼解決呢?
- 碼教授告訴你大資料具體指的是什麼?大資料
- 伺服器上行頻寬和下行頻寬指的是什麼伺服器
- 賽道股指的是什麼?2022賽道股有哪些板塊?
- 什麼是前端開發中的 mobile first 策略前端
- Web前端是什麼?主要是幹什麼的Web前端
- 掌控一切!當我們提到日本ACGIP產業時,指的是什麼?產業
- 專案質量管理有哪些不同階段?其中"質量"指的是什麼?
- 什麼是web前端?前端可以做什麼?html5有什麼用?Web前端HTML
- 馬什麼梅?I什麼N?淺談 web 前端開發中的國際化Web前端
- Web前端是學什麼的?Web前端
- 什麼是前端開發?為什麼要學前端開發?前端
- 前端工程師要做什麼?前端工程師需要什麼根本技能?前端工程師
- 什麼是Web前端?Web前端要學習什麼內容?Web前端
- 好程式設計師解析Web前端中的IoC是什麼程式設計師Web前端
- web前端是什麼?Web前端
- web前端的工作方向是什麼?Web前端
- 培訓的Web前端什麼水平Web前端
- 為什麼前端這麼多人前端
- 工科專業的科研能力指的是?
- 【前端筆記】Vuex 是什麼,為什麼需要前端筆記Vue
- 大資料處理關鍵技術主要有五種,具體指的是什麼?大資料
- 膝上型電腦ABCD面指的是什麼?膝上型電腦ABCD面圖解圖解
- web前端培訓分享:web前端的工作方向是什麼?Web前端
- 小白怎麼入門前端 Web前端都學些什麼前端Web
- 迎來工程化的大前端時代,大前端到底是什麼?需要學習什麼前端