首页 > 其他 > 详细

bind方法代替闭包

时间:2014-11-07 18:30:46      阅读:315      评论:0      收藏:0      [点我收藏+]
<a href="JavaScript:">a</a>
<a href="JavaScript:">b</a>
<a href="JavaScript:">c</a>
<a href="JavaScript:">d</a>
<a href="JavaScript:">e</a>
<script>
var i,s=document.querySelectorAll("a");
for(i=0;i<s.length;i++)
  s[i].addEventListener("click",function(){
    alert(this); //bind的第一个参数可以在函数内使用this得到
  }.bind(i)/*这里对匿名回调函数bind一个参数*/);
</script>

 这里的bind可不是事件,只是把函数绑定上默认参数的方法而已。

 <script type="text/javascript">
        var f, o, fo, name = "SB";
        o = { name: "次碳酸钴" };
        f = function (e) { console.log(this.name + "" + e) };
        fo = f.bind(o, "颤抖吧人类!");

        f("直接调用时参数是有效的!");
        fo("这里的参数不会传到e!");
    </script>

通过代码可知: bind 改变了原来的 function 参数

bind方法代替闭包

原文:http://www.cnblogs.com/sunzhenyong/p/4081674.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!