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