一、变量的作用域
作用域,一段代码的作用范围。
作用域链,在一个执行环境中有权访问的变量和函数能够有序有机的进行访问
1.全局变量
在代码中任何地方都能够访问得到的变量,拥有全局的作用域。
A.最外层函数外面定义的变量。
B.没有定义直接赋值的变量,拥有全局属性。
var bbs="全局变量";
function aa () {
alert(bbs);//全局变量
function bb () {
alert(bbs);//全局变量
}
bb()
}
aa()
2.局部变量
只能在固定的代码片段(函数片段中)中访问得到。
A.函数内部定义的变量,就是局部变量。
B.参数也是局部变量。
var hdw="全局变量";
function fun1 () {
var hdw="局部变量";
alert(hdw);
}
fun1();//局部变量
alert(hdw);//全局变量
二、对标识符预解析
js环境:
1.宿主环境(浏览器)
2.执行环境(上下文文档的环境)
执行的环境决定了变量和函数的访问权限。
A.全局环境
B.函数环境
c.eval();
1、<Script></script>块依次解析。
2、解析代码运行的环境。
3、对标识符(关键字)(var function )进行解析,解析到相应的环境下
4、如果还有<Script></script>块再按照上面的步骤依次解析