es6中let实例应用之一

Posted 林成的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6中let实例应用之一相关的知识,希望对你有一定的参考价值。

有如下情景

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实例应用之一的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript ES6 的let和const

ES6中的let关键字,有什么用呢?

ES6 中 let 与 const命令

Javascript学习笔记

[ES6] let和var区别

ES6简介