说明:把函数做为参数传递,利用闭包为要传递的函数绑定参数。
应用场景:为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 |

浙公网安备 33010602011771号