函数的拓展(预编译、递归)

123 阅读1分钟

函数的预编译

函数的递归

** 函数的预编译** js 的代码的执行分为两个阶段 1、 预编译阶段 首先,会找到所有的var声明的变量 然后,找到所有的具名函数

  2、代码执行阶段


         例  // 你看到的代码
    // console.log(a);    // undefined

    // var a = 10 ;

    // console.log(a);   // 10


    // 实际上js的解析
    // var a ;
    // console.log(a);
    // a = 10 ;
    // console.log(a);
    
    

函数的递归 递归 : 传递与回归 ,自己调用自己

  记住,递归一定要有结束的条件,要不然就会成为死递归
  例    // function fn() {  
    //     fn()
    // }
    // fn()   // 死递归
    
   用递归计算1-100的和
   
      function sum(n){
         if(n === 1){
            return 1
         }
         return n + sum(n-1)
         
      }
      sum(100)