函式繫結
bind() 方法建立乙個新的函式,在 bind() 被呼叫時,這個新函式的 this 被指定為 bind() 的第乙個引數,而其餘引數將作為新函式的引數,供呼叫時使用。
var slice = array.prototype.slice;
function.prototype.
bind
=function()
return
function()
;};
function
_bind
(fn, context)
}
function
_bind
(fn, context)
}
建立乙個新函式 可以在特定的環境中以指定引數呼叫另乙個函式
var handler =
}const unboundgetx = handler.handler;
console.
log(
unboundgetx()
);
貌似應該顯式 『雙』 實質上顯示undefined 這個就是this指向的問題了 this當前指向的執行環境是 JS實現bind方法
bind 是在ecmascript5中新增的方法,用於將乙個函式繫結到乙個物件,成為其方法,還可以用於建構函式。const obj const getsum obj.getsum console.log getsum undefined上面 輸出了undefined,getsum 執行時內部的thi...
原生JS實現bind方法
bind方法建立乙個新函式。呼叫新函式時,this指向給定的物件,並且將給定的引數列表作為原函式的引數序列的前若干項。當使用new操作符建立bind函式的例項時,bind函式變成構造器,給定的物件引數失效,其餘引數仍然有效。function mybind function fn 臨時函式protot...
bind函式 模擬實現JS的bind方法
先看一下bind是什麼?var obj obj typeof function.prototype.bind functiontypeof function.prototype.bind functionfunction.prototype.bind.name bindfunction.protot...