码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 之 预解析

时间:2020-05-29 17:58:21      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:报错   作用域   ons   col   函数   var   undefined   作用   运行   

1.预解析

JavaScript代码是由浏览器中的Javascript解析器来执行的 JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码执行

    <script>
        //1 问
         console.log(num);//



        //2 问
        console.log(num);//undefined  坑1
        var num = 10;
        // 预解析:
        // var num
        // console.log(num);
        // num = 10;




        //3问
        fn();
        function fn(){
            console.log(11);
        }
        
        //4问
        fun();   //报错 坑2
        var fun = function(){
            console.log(22); 
        }
        
        // 1.js引擎运行js分为两步:预解析 代码执行
        // (2).预解析 js引擎会把js里买的所有var还有function提升到当前作用域的最前面
        // (3).代码执行 按照代码的循序从上往下执行
        //2.预解析分为变量预解析 (变量提升) 和 函数预解析 (函数提升)
        // (1)变量提升 激素hi把所有的变量声明提升到当前作用域的最前面 不提升赋值操作
        // (2)函数提升  所有函数声明提升到作用域最前面 不调用


    </script>

预解析实例:

    <script>
        f1();
        console.log(c);
        console.log(b);
        console.log(a);
        function f1(){
            var a = b = c = 9;
            console.log(a);
            console.log(b);
            console.log(c);
        }


        function f1(){
            var a = b = c = 9;
            var a;
            a = b = c = 9 ;
            console.log(a);
            console.log(b);
            console.log(c);
        }
    </script>

 

JavaScript 之 预解析

标签:报错   作用域   ons   col   函数   var   undefined   作用   运行   

原文地址:https://www.cnblogs.com/qiujie-prion/p/12988585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!