求解?这里为什么foo的值为undefined呢???请各位大神赐教。。。

代码:
var foo = "test";
function test(){
console.log("foo:"+foo);
var foo = "new test";
}
test();
结果:
foo:undefined

求解?这里为什么foo的值为undefined呢???请各位大神赐教。。。

2个回答

这个在javascript中叫“声明提前”,在js中没有块级作用域,
[code="java"]
function test(){
console.log("foo:"+foo);
var foo = "new test";
} [/code]
相当于
[code="java"]
function test(){
var foo;
console.log("foo:"+foo);
foo = "new test";
} [/code]

推荐链接:http://www.cnblogs.com/TomXu/archive/2011/12/29/2290308.html

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐