作用域
全局作用域:
script标签下
在此声明的变量称为全局变量,全局变量在页面打开时创建,在关闭页面时销毁
全局变量作为window的属性,使用时省略window
全局变量声明之后任意位置均可访问
局部作用域:
function内部,也称为函数作用域
在此声明的变量称为局部变量,局部变量在函数调用时,调用完成时销毁,
只能在函数内部访问
函数中不使用var而直接赋值的变量(自由变量),在函数调用时变成全局变量
在js的严格模式("use strict")下报错
污染:在同一个作用域下,声明了重复的变量名或函数名
作用域链:
查找变量时,从当前作用域向外层作用域查找,采用就近原则,
找到即结束,最终找到全局作用域,未找到即报错
作用域的屏蔽效应:
内部作用域会覆盖外层作用域中的同名变量