【发布时间】:2013-12-01 06:06:42
【问题描述】:
这是我遇到的代码:
var foo=1;
function bar(){
foo=10;
return;
function foo(){}
}
bar();
alert(foo);
结果是1!
只是不知道为什么。
据我了解,第一行定义了一个全局变量'foo'给window对象,值为1,然后在bar函数中为foo赋值10,因为foo之前没有'var',所以全局变量 'foo' 将被赋值为 10。然后返回,函数的其余部分不会被执行。
但它会提醒 1。
同时删除bar函数中的函数foo定义,会提示10。
【问题讨论】:
标签: javascript