首页 > 其他 > 详细

es6中let实例应用之一

时间:2017-11-14 12:26:37      阅读:174      评论:0      收藏:0      [点我收藏+]

有如下情景

html部分:

<button class="btn">按钮1</button>
<button class="btn">按钮2</button>
<button class="btn">按钮3</button>
<button class="btn">按钮4</button>

js部分:

var btns = $(‘.btn‘);
for(var i=0;i<btns.length;i++) { 
    btns.eq(i).click(function () {
        alert(i);
    })   
} 

现在有个需求 点击每一个按钮,弹出该按钮对应的索引 ,但是按照上面的js执行,这样不管点击哪一个按钮,都只会弹出4 具体原因可以自行分析

传统的解决方法,是采用闭包

var btns = $(‘.btn‘);
for(var i=0;i<btns.length;i++) {
   (function(i){        
        btns.eq(i).click(function () {
            alert(i);
        })   
   })(i); 
} 

es6中利用let解决

var btns = $(‘.btn‘);
for(var let i=0;i<btns.length;i++) {
   // (function(i){        
        btns.eq(i).click(function () {
            alert(i);
        })   
   // })(i); 
} 

 

es6中let实例应用之一

原文:http://www.cnblogs.com/adobe-lin/p/7831354.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!