美文网首页
变量内容

变量内容

作者: waterte | 来源:发表于2018-08-28 16:59 被阅读0次

      /*

            变量的提升:

              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

          */

    相关文章

      网友评论

          本文标题:变量内容

          本文链接:https://www.haomeiwen.com/subject/jlsqwftx.html