1、ES5.0关于函数
2、ES6函数 -> 遵循严格模式、默认/可选参数、不定参数、扩展运算符的应用、箭头函数
(1).默认/可选参数: function(name, age=0, height=180){};//建议默认参数放到形参最后,若不放到最后,还想取到默认参数,实参需传入undefined,否则语法错误;
[1].arguments对默认参数的影响
[2].TDZ对默认参数的影响、惰性求值
(2).不定参数:
(3).扩展运算符 -> 准确说:展开、收集运算符 -> 收集运算符聚焦在函数参数使用;扩展运算符聚焦在数组中使用;ES7可操作对象属性,但其是浅克隆,有很大局限性;
- - - >>>扩展运算符的使用:简化书写长度,提升开发效率
(4).箭头函数:函数声明必须用变量接收或在数组中使用;可省略return(视情况分析);箭头函数不能new对象,其没有构造函数,也就没有原型; 箭头函数中arguments、this是由函数定义时外围最近一层非箭头函数决定的,this指向确认后,后续不能进行更改; -> 其也是语法糖,底层实现同ES5我们自己实现并无异同,例如改变this指向等;
- - - >>>箭头函数:函数目的指向性更强,可读性更好,简化代码,提升开发效率