Javascript 高级篇-函数

闭包

闭包的概念:函数A中,有一个函数B,函数B中可以访问函数A中定义的变量或者是数据,此时形成了闭包(这句话暂时不严谨)
* 闭包的模式:函数模式的闭包,对象模式的闭包
* 闭包的作用:缓存数据,延长作用域链
* 闭包的优点和缺点:缓存数据

 //函数模式的闭包:在一个函数中有一个函数
   function f1() {
        var num=10;
      //函数的声明
       function f2() {
          console.log(num);
      }
     //函数调用
       f2();
    }
   f1();
  //对象模式的闭包:函数中有一个对象

   function f3() {
        var num=10;
        var obj={
        age:num
      };
      console.log(obj.age);
    }
   f3();

沙箱

沙箱:环境,黑盒,在一个虚拟的环境中模拟真实世界,做实验,实验结果和真实世界的结果是一样,但是不会影响真实世界

(function (){
 var num=10;console.log(num);
 })();
(function () {
var num=20;console.log(num+10);
}());

函数递归

递归:函数中调用函数自己,此时就是递归,递归一定要有结束的条件。

var i = 0;
    function f1() {
      i++;
      if (i < 5) {
        f1();
      }
      console.log("从前有个山,山里有个庙,庙里有个和尚给小和尚讲故事:");
    }
    f1();

猜你喜欢

转载自blog.csdn.net/weixin_42435721/article/details/85844962