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>
  • 相关阅读:
    1-4 Autolayout
    1-3 UIScrollView
    lua 的语法糖
    javascript文档
    cocos2d 图片模糊
    a*寻路分析
    class按传递时分析
    mac 不再接受预览版提示
    OS X 10.11 El Capitan 三指拖动的开启方法
    mac系统卸载mono
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/11379338.html
Copyright © 2011-2022 走看看