Javascript学习笔记(函数---再次学习)

1.函数的定义

2.函数的递归调用

3.闭包

1.函数的定义有两种:

  第一种:函数声明  

function functionName(arg0,arg1,arg2){
  //函数体  
}

 函数声明,一个重要特征是函数声明提升,即在执行代码之前会先读取函数声明。

  第二种:使用函数表达式 

var functionName = function(arg0,arg1,arg2){
   //函数体      
};

  函数表达式与其他表达式一样,在使用前必须先赋值。

两种创建方式的区别:函数声明的方式创建函数会使函数声明提升。

2. arguments.callee 实现对函数的递归调用

  arguments.callee 是一个指向正在执行的函数的指针,因此可以用它来实现对函数的递归调用。

  优点:在编写递归调用函数时,使用arguments.callee 总比使用函数名更保险。

3.闭包

闭包:是指有权访问另一个函数作用域中的变量的函数。

创建闭包的常见方式:就是在一个函数内部创建另一个函数。

 闭包的缺点:由于闭包会携带包含它的函数的作用域,因此会比其他函数占用更多的内存。

原文地址:https://www.cnblogs.com/yanyangbyou/p/4009704.html