zoukankan      html  css  js  c++  java
  • bind方法代替闭包

    <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 参数

  • 相关阅读:
    ajax简单案例
    jquery中的数据传输
    java-Reflect
    Factory Method 和AbstractFactory
    Singleton
    英语六级口语备考指南
    ACM信息汇总
    jquery练习
    char可不可以存汉字
    信息安全
  • 原文地址:https://www.cnblogs.com/sunzhenyong/p/4081674.html
Copyright © 2011-2022 走看看