变量内容

2018-08-28  本文已影响0人  waterte

  /*

        变量的提升:

          javascript引擎工作方式是:先解析代码,获取所有被声明的变量,然后再一行一行的运行。

          这造成的结果就是 所有的变量的声明语句都会被提升到代码的头部,这种机制叫做变量的提升。

      */

      /*

        变量作用域

      */

      /*

        一等公民:在js世界中函数不仅具有传统函数的功能(声明和调用)还能够赋值

        传参,返回,这样的函数称为一级函数或一等公民;

      */

      var num = 0;

      console.log(num);//0

      var func = function(){ console.log("ahaha") }

      console.log(func); //ƒ (){ console.log("ahaha") }

      /*

        函数可以直接当作另一个函数的参数

      */

      function func1(){

        console.log("我是凉白开啊")

      }

      function func2(func){

        func();

      }

      func2(func1);

      /*

        函数名提升:通过function命令声明的函数,其声明语句会被提升到代码头部

      */

/*

        函数默认值:用于如果参数不给值,那么就可以设置默认值

      */

      function func3(num){

        (num!=undefined&&num!=null)?num = num : num = 1;

        console.log(num)

      }

      func3(0);//0

      func3();//1

      func3(2);//2

//变量提升小例子

      var a = 0;

      test();

      function test(){

        console.log(a);    //undefined

        var a = 2;

        console.log(2);    //2

      }

      /*

        以上代码可以变为

        var a

        function test(){

          var a

          console.log(a);   

          a = 2;

          console.log(2);   

        }

        a = 0

        test()

        所以第一个输出undefined, 第二个输出2

      */

上一篇 下一篇

猜你喜欢

热点阅读