http://oldboy-bj.taobao.com/

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

说明:把函数做为参数传递,利用闭包为要传递的函数绑定参数。
应用场景:为dom元素绑定事件时,不能为函数指定参数,可用此函数来解决...

view sourceprint?

1

//为函数绑定参数 <br>function bindArguments(/*function*/ f /*, initial argemtnts...*/){<br>     var bindArgs=arguments;<br>     return function()  {<br>         var args=[];<br>         for(var i=1; i<bindArgs.length; i++) args.push(bindArgs);<br>         return f.apply(this,args);<br>     }<br> }<br>//调用示例,点击页面中的超链接,弹出对应的索引<br> var linkArray=document.getElementsByTagName('a');<br> for(var i=0,m=linkArray.length; i<m; i++){<br>     linkArray.onclick=bindArguments(function(){ alert(arguments[0]); }, i+1, linkArray);<br> }<br><br>

本文转自www.35java.com

posted on 2011-01-01 19:54  老男孩咖啡  阅读(268)  评论(2)    收藏  举报