1.var let const
let const 是es6引入的声明变量的方式,声明的是局部变量,let 和const声明的变量会绑定局部作用域,let 和const声明的变量不会进行变量提升,所以在局部作用域没有声明变量前不能使用,会报错,这一部分也成为暂时性死区。
var是es5声明变量的方式,声明的变量是全局变量。编译前会进行变量提升。
const声明的是常量 不能修改。如果声明的是引用类型的。可以修改引用类型的属性值。
2. iterator 和 for of 和for in
iterator是一个接口,为了遍历各种不同类型的数据结构。
iterator有三个作用 1.为各种数据结构提供一种遍历机制。2.使得数据结构可以按某种顺序排列。3.是共for of 消费
for of 可以遍历所有具有iterator的数据 默认具有iterator的数据结构有 Array Map Set arguments NodeLists ,for of 可以使用break return终止执行
for in 适合遍历对象 还可以遍历对象原型上的属性。