- Javascript 只有一个全局作用域 window ,全局变量会绑定在window上
- 变量提升,JavaScript会把变量声明提升到函数顶部,但是变量赋值不会。
- 名字空间,将所有全局变量放入名字空间中,减少全局变量变量冲突。
- let 块级作用域关键字
- 常量:ES6前——变量名大写,ES6之后——const
- 解构赋值
var [x, y, z] = ['hello', 'JavaScript', 'ES6'];
注意嵌套层次和位置要保持一致,解构赋值非常灵活。 - 方法——绑定到对象的函数,this关键字始终指向当前对象。单独调用函数时,this代表window。
- apply和call 可以修复this指向,apply参数为Array,call参数按顺序传入,装饰器:利用apply(),可以动态改变函数的行为
- map/reduce 高阶函数 都是arr内部的函数.学会使用map/reduce:把一个字符串13579先变成Array——[1, 3, 5, 7, 9],再利用reduce()就可以写出一个把字符串转换为Number的函数。
- filter,sort高阶函数
- 箭头函数实现排序sort
- 闭包,面向对象的封装