1.把JavaScript看作函数式语言你就能书写复杂的代码。
2.作为第一类对象,函数和JavaScript中其他对象一样。类似于其他对象类型,函数具有以下功能:
2.1通过字面量创建。
2.2赋值给变量或属性。
2.3作为函数参数传递。
2.4作为函数的结果返回。
2.5赋值给属性和方法。
3.回调函数是被代码随后“回来调用”的函数,它是一种很常用的函数,特别是在事件处理场景下。
4.函数具有属性,而且这些属性能够被存储任何信息,我们可以利用这个特性来做很多事情。
4.1可以在函数属性中存储另一个函数用于之后的引用和调用。
4.2可以用函数属性创建一个缓存(记忆),用于减少不必要的计算。
5.有很多不同类型的函数:函数声明、函数表达式、箭头函数以及函数生成器等。
6.函数声明和函数表达式是两种最主要的函数类型。函数声明必须具有函数名,在代码中他也必须作为一个独立的语句存在。函数表达式可以不必有函数名,但此时它必须作为其他语句的一部分。
7.箭头函数是JavaScript的一个新特性,这个特性让我们可以使用更简洁的方式来定义函数。
8.形参是函数定义时列出的变量,而实参是函数调用时传递给函数的值。
9.函数的形参列表和实参列表长度可以不同。
9.1未赋值的形参求值得到undefined。
9.2传入的额外实参不会被赋给任何一个命名形参。
10.剩余参数和默认参数是JavaScript的新特性。
10.1剩余参数——不与任何形参名相匹配的额外实参可以通过剩余参数来引用。
10.2默认函数——函数调用时,默认参数可以给函数提供缺省的参数值。
参考《JavaScript忍者秘籍》