您的位置:首页 > 其它

变量作用域的问题

2012-07-18 16:53 218 查看
JavaScript代码

var a = 100;

function testResult(){

var b = 2 * a;

var a = 200;

var c = a / 2;

alert(b);

alert(c);

}

testResult()

输出的是什么呢?

开始我觉得应该是 200 和 100, 结果 确实NaN和100。

为什么第一个会是NaN呢?命名已经定义了全局变量,var b=2 * a 应该是可以2*100的结果啊

后来翻阅资料才明白,当全局变量和局部变量同名的时候,全局变量是不会主用于同名局部变量的作用域的。也就是说var a=100是不会作用于testResult这个函数中的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: