zoukankan      html  css  js  c++  java
  • 闭包案例---点击按钮打印对应按钮的下标

      <button>按钮0</button>
      <button>按钮1</button>
      <button>按钮2</button>
      <button>按钮3</button>
      <button>按钮4</button>
      <button>按钮5</button>
      <button>按钮6</button>
      <button>按钮7</button>
      <button>按钮8</button>
      <button>按钮9</button>
       // 需求:点击按钮,打印对应按钮的下标
    
        var btns = document.querySelectorAll('button')
        // 方法一:没有使用闭包
        for(var i=0;i<btns.length;i++) {
          btns[i].index = i;
          btns[i].onclick=function(){
            // console.log(i);
            console.log(this.index);
          }
        }
    
        // 闭包的特点:一个函数内部嵌套另一个函数,内部函数引用了外部函数的局部变量,这样就形成了闭包
        // 方法二:使用了闭包
        var btns = document.querySelectorAll('button')
        for(var i=0;i<btns.length;i++) {
          (function(index){
            btns[index].onclick=function(){
              console.log(index);
            }
          })(i);
        }
    
    
        // 方法三:使用了闭包
        var btns = document.querySelectorAll('button')
        for (var i = 0; i < btns.length; i++) {
          btns[i].onclick = (function(index){
            return function () {
              console.log(index);
            }
          })(i);
        }
  • 相关阅读:
    NSAttributedString用法
    xib Nib IB 可视化编程详解
    对虚函数的理解
    QSS的关键词
    Qt发布问题
    Qt使用与问题处理
    Qt术语
    Qt国际化——使用自带翻译包
    Qt 小记
    查看端口及使用进行
  • 原文地址:https://www.cnblogs.com/lixiaoxue/p/11228390.html
Copyright © 2011-2022 走看看