1. 提升(Hoisting)
作用域提升到前面去的的行为。应用在变量的声明与函数的声明。
so,函数可以在声明之前调用。but,使用表达式定义函数时无法提升。
2. 箭头函数
当我们使用箭头函数的时候,箭头函数会默认帮我们绑定外层 this 的值,所以在箭头函数中 this 的值和外层的 this 是一样的。
箭头函数是不能提升的,所以需要在使用之前定义。
使用 const 比使用 var 更安全,因为函数表达式始终是一个常量。
如果函数部分只是一个语句,则可以省略 return 关键字和大括号 {},这样做是一个比较好的习惯。
注意:IE11 及更早 IE 版本不支持箭头函数。
3. 函数参数
JavaScript 函数定义显式参数时没有指定数据类型。
JavaScript 函数对隐式参数没有进行类型检测。
JavaScript 函数对隐式参数的个数没有进行检测。
如果函数在调用时未提供隐式参数,参数会默认设置为: undefined
原文:https://www.cnblogs.com/zyueer/p/12198402.html