ES5 bind用法及與以前的apply和call

2022-06-10 14:33:14 字數 401 閱讀 5271

當我們呼叫乙個函式的時候,函式中的this一般是指向呼叫者的。但是我們其實可以在呼叫函式的時候,傳入乙個物件,讓函式中的this指向我們傳入的物件,而不是呼叫者本身。

例:var name = 'tom';

var obj = ;

function fun();

function fun1(age)

fun1(11);

fun1.call(obj,11);

輸出:tom11 jack11 jack11

var name = 'tom';

var obj = ;

function fun2(age)

var fun3 = fun2.bind(obj);

fun3(11);

輸出:bindjack11 

es5 bind和es3函式模擬的bind的區別

在討論這個問題之前,我們先看一下在es5出現內建的bind函式之前,是怎麼模擬bind的 function.prototype.bind function othis var aargs array.prototype.slice.call arguments,1 ftobind this,fnop...

Bind 與 Eval 的用法與區別

eval和bind的區別 簡單來說 繫結表示式 eval 欄位名 bind 欄位名 1 eval 單向繫結 資料是唯讀的 bind 雙向繫結 資料可以更改,並返回伺服器端,伺服器可以處理更改後的資料,如存入資料庫.2.當對次表示式操作時候,必須用eval 如 eval 欄位名 tostring tr...

call,apply和bind的用法及區別

callfunction fn x,y console.log x y 11 var obj 語法 fn.call obj,2,9 應用 var obj array.prototype.push.call obj,30 console.log obj call obj,0,2 console.log...