|
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
基于不擴展原生對象的原則,弄了這個bind函數(dom為作用域),用法與Prototype框架的bind差不多。
復制代碼 代碼如下:
dom.bind = function(fn,context){
//第二個參數如果你喜歡的話,也可以改為thisObject,scope,
//總之,是一個新的作用域對象
if (arguments.length < 2 && context===undefined) return fn;
var method = fn,
slice = Array.prototype.slice,
args = slice.call(arguments, 2) ;
return function(){//這里傳入原fn的參數
var array = slice.call(arguments, 0);
method.apply(context,args.concat(array))
}
用法:第一個參數為需要綁定作用域的函數,第二個為window或各種對象,其他參數隨意。
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
另一個例子:
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
JavaScript技術:javascript bind綁定函數代碼,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。