首页 > 代码库 > bind方法代替闭包
bind方法代替闭包
<a href=http://www.mamicode.com/"JavaScript:">a</a><a href=http://www.mamicode.com/"JavaScript:">b</a><a href=http://www.mamicode.com/"JavaScript:">c</a><a href=http://www.mamicode.com/"JavaScript:">d</a><a href=http://www.mamicode.com/"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方法代替闭包
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。