1.函数的定义
2.函数的递归调用
3.闭包
1.函数的定义有两种:
第一种:函数声明
function functionName(arg0,arg1,arg2){ //函数体 }
函数声明,一个重要特征是函数声明提升,即在执行代码之前会先读取函数声明。
第二种:使用函数表达式
var functionName = function(arg0,arg1,arg2){ //函数体 };
函数表达式与其他表达式一样,在使用前必须先赋值。
两种创建方式的区别:函数声明的方式创建函数会使函数声明提升。
2. arguments.callee 实现对函数的递归调用
arguments.callee 是一个指向正在执行的函数的指针,因此可以用它来实现对函数的递归调用。
优点:在编写递归调用函数时,使用arguments.callee 总比使用函数名更保险。
3.闭包
闭包:是指有权访问另一个函数作用域中的变量的函数。
创建闭包的常见方式:就是在一个函数内部创建另一个函数。
闭包的缺点:由于闭包会携带包含它的函数的作用域,因此会比其他函数占用更多的内存。