黑马程序员技术交流社区
标题:
函数中的变量访问
[打印本页]
作者:
sangwentao
时间:
2016-6-13 18:30
标题:
函数中的变量访问
js为变量赋值时(将b赋给a),首先在其作用域中搜索,看b是在当前语句之前还是之后定义。若是之前定义,则进行正常赋值。若是之后定义,则a为undefined(即使全局中有名叫b的变量)。若没有b的定义则沿作用域链上溯。
var b=1;
function(){
var a=b; //a=1;
}
var b=1;
function(){
var a=b; //undefined;
b=1;
}
function(){
var a=b; //错误
}
1.检查当前变量对象有无该变量。
2.若有,检查在左值之前还是之后,之前正常赋值,之后undefined。若无,沿作用域链上溯寻找上游变量对象。若最终未找到则error。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2