欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript bind綁定函數(shù)代碼

 更新時(shí)間:2010年01月05日 13:58:02   作者:  
bind函數(shù),顧名思義,用于為調(diào)用函數(shù)綁定一個(gè)作用域,因?yàn)閠his很容易跟丟它原來(lái)所在的作用域,直接指向頂層的window對(duì)象。
具體結(jié)論可參見《javascript下動(dòng)態(tài)this與動(dòng)態(tài)綁定實(shí)例代碼》。本文專注設(shè)計(jì)一個(gè)無(wú)侵入的綁定函數(shù)。

基于不擴(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ù)隨意。

另一個(gè)例子:

相關(guān)文章

最新評(píng)論