作用域
作用域
变量的有效环境
全局作用域:
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()
浙公网安备 33010602011771号