美文网首页
js 编译顺序

js 编译顺序

作者: sunflower_07 | 来源:发表于2018-03-01 15:02 被阅读0次

    一、js 编译
    1. js 是按照代码块进行编译和执行,代码块之间相互独立。

    2. 声明函数与赋值函数   (js 中的函数定义分为:声明式函数和赋值函数)
        <script
                 type="text/javascript">
    
                    function
                        Fn(){ //声明式函数
    
                        }
    
                    var
                    Fn = function{  //赋值式函数
    
             
                    }
    
        </script>
         注:
         声明式函数与赋值式函数的区别在于:
                    在JS的预编译期,声明式函数将会先被提取出来,然后才按顺序执行js代码。
    
    3. 预编译与执行期
        js解析过程分为两个阶段:预编译期(预处理)和执行期
        a) 预编译期 ,js 会把js 中的变量和函数进行处理,此时的处理函数只是声明式函数,变量也只是声明,但不会赋值。
            注:js 引擎是按照代码块的顺序执行,也可以说,预处理和执行也是按照代码块顺序执行,
                预处理只是执行到的代码块的声明函数和变量,而对,未加载的代码块,是没办法进行预处理的
    
                总结:
                step 1. 读入第一个代码块。
    
                step 2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5。
    
                step 3. 对var变量和function定义做“预编译处理”(永远不会报错的,因为只解析正确的声明)。
    
                step 4. 执行代码段,有错则报错(比如变量未定义)。
    
                step 5. 如果还有下一个代码段,则读入下一个代码段,重复step2。
    
                step6. 结束。

    相关文章

      网友评论

          本文标题:js 编译顺序

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