zoukankan      html  css  js  c++  java
  • ES6 学习之 let

    关于闭包:

    <html>
    <body>
    <div>
    <div>
    
            
    <button >aaa</button>
    <button >bbb</button>
    <button >ccc</button>
    
    </div>
    </div>
    
    
            <script  type="text/javascript">
          // script type="text/javascript" 可以省略 不写,但是如果写,必须 type="text/javascript"
    var btns = document.getElementsByTagName("button"); alert(btns) var start = 100; // start = 0; for(var i = start; i< btns.length; i++ ) { btns[i].onclick = function() { alert(i);// 这样的写法有问题, 即 闭包问题 } } start = 100; //start = 0; for(var i =start; i< btns.length; i++ ) { (function(i) { // 奇怪的 闭包的 写法, 需要匿名函数, 首先外面一堆(), 然后匿名函数,一个形式参数i, 然后立即调用匿名函数,实际 参数 仍然是 i 。。。 btns[i].onclick = function() { alert(i); } }) (i); } start = 0; for(let i =start; i< btns.length; i++ ) { // 一个let 关键字,轻松解决问题!! btns[i].onclick = function() { alert("eeeee" + i); } } </script> </body> </html>
  • 相关阅读:
    docker知识集锦
    kubernetes知识集锦
    redis知识集锦
    Java多线程知识集锦
    vscode离线安装插件
    jsoncpp的简易教程
    为什么要自动化测试?
    如何选择正确的自动化测试工具
    如何选择测试自动化工具?
    测试自动化的五大挑战
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/11379338.html
Copyright © 2011-2022 走看看