语法块级作用域(let/var):
JS中使用var来声明一个变量时,变量的作用域主要是和函数的定义有关
针对这个问题就要采用闭包(函数就是一个作用域), 所以在ES6语法中加入了let,let他是有if和for的块级作用域的
for(let i=0;i<btns.length();i++){
btns[i].addEventlistener('click',function(){
console.log('第'+i+'个按钮点击')
})}
注意这里用let以后i只属于function这一个作用域 所以每次输出 i从0变到length-1
如果用var i=0,则只会输出 “第‘length-1’个按钮点击”
const关键字:
在ES6开发中,优先使用const,只有需要改变某一个标识符的时候才用let
注意使用const的时候必须赋值
常量的含义是指向的对象不能修改,但是可以改变对象内部的属性
const obj={
name:"why",
age:"18",
height:1.88
}
obj.name="where"
对象增强写法:
const obj={}
{}:对象字面量
const name="why";
const age=18;
const height:1.88;
const obj={
name,
age,
height
}
不需要像ES5那样写成 name:name