javascript核心技术 第5章 函数

函数也是对象,可以将函数赋给一个变量,一个数组元素,甚至把函数作为一个参数传给另一个函数调用。

总结一下,函数有3种类型:

1.声明式函数:(Declarative function)

  函数本身是一个以关键字function开始的语句。声明式的函数只解析一次,它是静态的,并且为了访问而给它起了名字。

2.匿名函数(Anonymous function)

  使用构造函数来构造的函数。每次访问它时,都要对它进行解析,并且没有给它指定名字。

3.函数直接量(Function literal)或函数表达式(function expression)

  在另一个语句中作为一个表达式的一部分而创建的函数。它是解析一次,是静态的,可以指定名字也可以不指定名字。如果指定了名字,名字也只能在函数自己的内部使用。

Javascript最佳实践:保持函数短小,专注于一项任务,并且尽可能通用,尽可能大的可复用性。

5.2回调函数(callback function)

有些方法依赖一些函数,而这些函数又会以某些事件作为基础被自动调用。这些方法所使用的函数是一些函数直接量,而当以这种方式使用它们时,通常把它们叫做回调函数。

5.3函数和递归

5.4 嵌套函数、函数闭包和内存泄漏