Java教程

JavaScript 12

本文主要是介绍JavaScript 12,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

预解析

   说明:浏览器中的js引擎运行JavaScript(js文件,HTML中的js部分等),分为:预解析、代码执行两个步骤

    a. 预解析,会把所有js中的 var (变量声明) 和 function (函数声明) 提升到当前作用域的最前边(也就是先执行var 变量名 和 function 函数名的操作)。     b. 代码执行, 按照顺序从上到下依次执行。          注:            1. 变量预解析:变量提升,只是提升变量声明,不会提升赋值操作,如:var a = 1, 只会将 var a提升           2. 函数预解析:函数提升,只是提升函数声明,不会调用函数,如:function fun(){...} ,会将整个函数声明提升,但不会调用  
        // 原始代码
        console.log(a);     
        var a = 1;
        console.log(a);     

        fun();
        function fun(){
            console.log('laile');
        };
        fun();

        // 特殊情况:此时提升的只是 var test 这个变量声明
        test();
        var test = function(){
            console.log('函数2被执行')
        };
        test();
        // js代码的预解析后的代码:
            // 1. 提升 的部分
            var a  
            function fun(){
                console.log('laile')
            }
            var test
            // 2. 依次执行的 部分
            console.log(a); // undefined
            a = 1;
            console.log(a); // 1
            fun();          // laile
            fun();          // laile
            test();         // test is not a function
            test = function(){
                console.log('函数2被执行')
            }
            test();         // 函数2被执行

 

预解析实例:

  

 

 

 

这篇关于JavaScript 12的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!