作用域

  作用域
        变量的有效环境
        全局作用域:
            script标签下
            在此声明的变量成为全局变量,全局变量在页面打开时创建,在关闭页面时销毁
            全局变量作为window的属性,使用时省略window
            全局变量声明之后任意位置均可访问
        局部作用域
            function内部,也称为函数作用域
            在此声明的变量称为局部变量,局部变量在函数调用时,调用完成时销毁,只能在函数内部访问
            函数中不适用var而直接赋值的变量(自由变量),在函数调用时变成全局变量
            在js的严格模式("use strict")下报错

        污染:在同一个作用域下,声明了重复的变量名或函数名

        作用域链:
            查找变量时,从当前作用域向外层作用域查找,采用就进原则,找到及结束,最终找到全局作用域,未找到既报错

        作用域的屏蔽效应:
            内部作用域中会覆盖外层作用域中的同名变量


        变量提升
            编译:预解析过程
                    同一作用域下,将var声明和function声明前置

            执行:

            实参
            arguments:代表实参列表,有索引(0开始),有长度(实参的个数),于形参无关,只能用于函数内部

            function abc(){
                var a=b=c=10;//只声明了a
                a会报错因为访问不到a,a是局部变量,b和c是全局变量
            }
            abc()
posted @ 2022-07-07 10:09  爱迷路的天天  阅读(33)  评论(0)    收藏  举报