因為 this 是動態的,所以會需要一些方法,讓函式被呼叫都能有固定的 this
1 | var cat = { |
我們都知道,要印出 cat 的 name,只需要調用 cat.printName();
但 dog 如果不新增方法,要怎麼印出 dog name 呢?
…
..
.
.
..
…
當然是借 cat 的來用囉 😆
call、apply、bind
藉其他物件的函式,改變 this 的對象,用來強制指定 this,這三個的分別可以把他們分成兩組來看
call、apply 是指定 this 後直接執行
bind 是先指定 this,不會馬上執行,要調用時再加()執行
1 | var cat = { |
如此一來就可以順利取得 dog 的 name
代入參數
代入參數時使用的方式不太一樣
1 | call(物件名稱, 參數1, 參數2); // 逗號隔開 |
1 | var cat = { |
有了 call、apply、bind 可以確保當前的 this 是誰,避免不小心去連結到全域物件或是不想指向的物件喔!
🚀實體工作坊分享
玩轉 Web頁面的前端技術(HTML/CSS/JS) 一日體驗課
最近時賦學苑開了實體體驗課,即使你對程式碼沒有概念也能上手!Lala 會帶你一起做出一個個人品牌形象網站,帶你快速了解前端的開發流程,快跟我們一起玩轉 Web 吧!🚀線上課程分享
線上課程可以加速學習的時間,省去了不少看文件的時間XD,以下是我推薦的一些課程想學習更多關於前後端的線上課程,可以參考看看。
Hahow
Hahow 有各式各樣類型的課程,而且是無限次數觀看,對學生或上班族而言,不用擔心被時間綁住六角學院
如果你是初學者,非常推薦六角學院哦!剛開始轉職也是上了六角的課,非常的淺顯易懂,最重要的是,隨時還有線上的助教幫你解決問題!
Udemy
Udemy 裡的課程非常的多,品質普遍不錯,且價格都滿實惠的,CP值很高!也是很多工程師推薦的線上課程網站。