JS作用域概念-预解析规则

时间:2023-03-08 18:27:52
JS作用域概念-预解析规则
// 作用域:
// 域:空间、范围、区域……
// 作用:读、写

    script        全局变量、全局函数
        自上而下

    函数
        由里到外

    {}

    浏览器:
        “JS解析器”
            1)“找一些东西”    :var  function 参数

                            a = ...
                                    所有的变量,在正式运行代码之前,都提前赋了一个值:未定义
                            fn1 = function fn1(){ alert(2); }
                                    所有的函数,在正式运行代码之前,都是整个函数块

                            JS 的预解析

                        遇到重名的:只留一个
                            变量和函数重名了,就只留下函数

            2)逐行解读代码:
                        表达式:= + - * / % ++ -- ! 参数……

                        表达式可以修改预解析的值!