1. 程式人生 > >call、apply、bind不同使用場景

call、apply、bind不同使用場景

函數 pos mark 就是 指向 bind this mar 使用場景

寫在前面的話

這三個方法都是來自Function.prototype上,所以所有的函數都可以使用。
他們有一個共同點,就是可以指定函數執行時的內部this指向。
call和apply的區別在於參數的方式。
bind和前兩個的區別在於,bind不會馬上執行函數,而是返回一個函數,供以後調用。

call

語法:函數名.call(this指向,實參1,實參2...)

apply

語法1:函數名.apply(this指向,[實參1,實參2...])
語法2:函數名.apply(this指向,{0:實參1,1:實參2})

bind

語法:var fn = 函數名.bind(this指向,綁定的參數1,綁定的參數2...);

call、apply、bind不同使用場景