JavaScript笔记五:函数表达式

1、函数表达式

   var function = function() {

      //函数体

   };

2、递归

   function factorial(num) {

     if(num<=1){ return 1;  }

      else {return num*factorial(num-1);}

   }

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

   function factorial(num) {

     if(num<=1){ return 1;  }

      else {return num*rguments.callee(num-1);}

   }

3、闭包:指有权访问另一个函数作用域中的变量的函数,创建闭包的常见形式是在一个函数内部创建另一个函数。

   在后台执行环境中闭包的作用域包含着他自己的作用域,函数的作用域和全局作用域

   当函数返回一个闭包时,函数的作用域将一直在内存中,知道闭包不存在。

4、私有变量:任何在函数中定义的变量,都可以认为是是由变量,因为不能在函数的外部访问这些变量,私有变量包括函数的参数、局部变量、和在函数内部定义的其它函数。

   在JavaScript中没有正式的私有对象属性的概念,但可以使用闭包来实现公有方法,通过公有方法访问其作用域中的变量

   有权访问私有变量的公有方法叫做特权方法

   创建闭包必须维护额外的作用域,过度的使用可能会导致占用大量的内存。

 

   

你可能感兴趣的:(JavaScript,前端,Web应用)