Es6

简介: 再来看一个更常见的例子,了解下如果不用ES6,而用闭包如何解决这个问题。 var clickBoxs = document.querySelectorAll('.clickBox') for (var i = 0; i < clickBoxs.length; i++){ clickBoxs[i].onclick = function(){ console.log(i) } } 我们本来希望的是点击不同的clickBox,显示不同的i,但事实是无论我们点击哪个clickBox,输出的都是5。

再来看一个更常见的例子,了解下如果不用ES6,而用闭包如何解决这个问题。

var clickBoxs = document.querySelectorAll('.clickBox')
for (var i = 0; i < clickBoxs.length; i++){

clickBoxs[i].onclick = function(){
    console.log(i)
}

}
我们本来希望的是点击不同的clickBox,显示不同的i,但事实是无论我们点击哪个clickBox,输出的都是5。下面我们来看下,如何用闭包搞定它。

function iteratorFactory(i){

var onclick = function(e){
    console.log(i)
}
return onclick;

}
var clickBoxs = document.querySelectorAll('.clickBox')
for (var i = 0; i < clickBoxs.length; i++){

clickBoxs[i].onclick = iteratorFactory(i)

}
数组去重 es6 数组去重 (更加简单)
const o = Array.from(new Set(x));
异步加载 async await 程序按顺序执行

学习ES6的基本语法网址
ttps://segmentfault.com/a/1190000004365693u

相关文章
|
前端开发 JavaScript
ES6(三)
es6补充知识
75 1
|
1月前
|
存储 JavaScript 前端开发
什么是Es6,有什么特点
什么是Es6,有什么特点
37 1
|
7月前
|
前端开发 JavaScript 网络架构
|
前端开发 安全
说说你的ES7-ES12的了解
说说你的ES7-ES12的了解
|
7月前
ES6常用知识小结
ES6常用知识小结
37 0
ES6(二)
es6相关知识
72 0
|
前端开发 容器
ES6 Day04
ES6 Day04
78 0
初学es6
初学es6
78 0
|
存储 JSON 自然语言处理
ES
ES
531 0
ES2016
ES2016
183 0