首页 > Web开发 > 详细

js预解析

时间:2021-05-19 10:27:22      阅读:14      评论:0      收藏:0      [点我收藏+]

我们的引擎运行js分为两步:预解析 代码执行

1.预解析:把js里面所有的var和function提升到当前作用域的最前面

  1)变量提升:把所有的变量声明提升到当前作用域最前面 不提升赋值操作
  2)函数提升:把所有的函数声明提升到当前作用域的最前面 不调用函数

2.代码执行:按照代码书写顺序从上往下执行

案例

        f1();
        console.log(c);
        console.log(b);
        console.log(a);
        function f1() {
            var a=b=c=9;//var a=9;b=9;c=9;
            console.log(a);
            console.log(b);
            console.log(c);
        }
        //上述代码相当于以下代码
        // function f1() {
        //     var a
        //     a=b=c=9;
        //     console.log(a);//9
        //     console.log(b);//9
        //     console.log(c);//9
        // }
        // f1();
        // console.log(c);//9
        // console.log(b);//9
        // console.log(a);//a is not defined

js预解析

原文:https://www.cnblogs.com/chenstudy/p/14783445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!