js知识点笔记

1、当局部变量和全局变量冲突时,优先使用局部变量

2、函数的作用域链:一级一级向上查找变量

3、递归函数:自己调用自己

      案例:

  function  fun(num){

    console.log(num); //3,2,1,0

    if(num>0){

      fun(num-1);

  }

}

  fun(3);//3,2,1,0,0,1,2,3

将其展开来看:


function fun3(){
      console.log(3);
      function fun2(){
           console.log(2);
                function fun1(){
                console.log(1)
                       function fun0(){
                             console.log(0)
                             console.log(0)
                           }
                console.log(1)
            }
          console.log(2);
      }
    console.log(3);
 }

4、创建数组的两种方式

通过对象原型定义

var obj = new Array();

标准定义

var  arr = [ ];

5、闭包函数

在父函数体内部的函数在父函数的作用域之外被调用,则形成内部函数的闭包。(内部函数就叫闭包)

闭包函数若使用了全局变量,则改变量不会被释放,会一直占内存,可能会导致内存的泄露。

案例:

function outSide(){
  var num = 100;
  //局部变量赋值为函数
  var inSide = function(){
    console.log(num);
    num++;
  }

  // 采用return返回值返回
  return inSide;
}

res();//调用

猜你喜欢

转载自www.cnblogs.com/pjpdehome/p/9382612.html