iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0

call、apply、bind 三者都是 JavaScript Function 的內建函式,他們與 this 的關係重大,除此之外,call & apply 可以作為呼叫 Function 的另一個手段,而 bind 則會回傳一個經過包裹後的 Function 回來。

  • call、apply皆是回傳function執行結果
  • bind方法回傳的是綁定 this 後的原函數

call (立刻執行)

  • 第一個參數:
    輸入的物件會被指定為目標函式中的 this
  • 第二以後的參數:
    會作為參數傳進目標函式中,如果目標函式中不需要參數則不要傳入即可

apply (立刻執行)

  • 第一個參數:
    輸入的物件會被指定為目標函式中的 this
  • 第二個參數:
    必須是陣列,會把陣列中的每個元素作為參數傳進目標函式中,如果目標函式中不需要參數則不要傳入即可

bind (非立刻執行)

  • 明確指定 this
  • 回傳一個包裹函式,當我們執行這個函式時,同時也會將帶入 bind 的 arguments 一起帶進 Function 中。類似 Currying 的概念。

上一篇
DOM (Document Object Model) II
下一篇
EVENT 事件 I
系列文
JavaScript亂記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
joe
iT邦新手 3 級 ‧ 2022-10-02 22:18:47

/images/emoticon/emoticon07.gif

denny0628 iT邦新手 5 級 ‧ 2022-10-03 13:12:13 檢舉

開始水了 水哥

我要留言

立即登入留言