学习文章转自:ES6简单特性学习记录
变量定义新方式:let/const
let特性 :
- 块级作用域(一对{}包括的区域称为一个代码块,let声明的变量只在该代码块起作用)
- 不允许重复声明
- 没有变量提升(暂理解为 与 var 声明都是声明一个变量 )
例1:简单的打印数据
使用 var :
for(var i = 0; i<10 ; i++ ){
setTimeout(()=>console.log(i)) // 执行10次,全都打印 10
}
使用 let :
for(let i = 0; i<10 ; i++ ){
setTimeout(()=>console.log(i)) // 执行10次,打印 0 - 9
}
之前使用 闭包 才能实现:
for(var i = 0; i<10;i++){
(function(j){
setTimeout(()=>console.log(j)) // 执行10次,打印 0 - 9
})(i)
}
网友评论