我曾经遇到过以下好奇的一段代码:范围在JavaScript
function foo(){
works = {hello:"world"};
function bar(){
alert('does not work');
}
var notwork = {hello:"world"};
}
foo();
alert(works.hello);
alert(notwork.hello);
可有人请给我为什么工程工作,notwork不起作用解释?或者指出一个很好的资源,详细解释这一点。
非常感谢!
编号局部变量在函数执行后非常有效。这就是Javascript有闭包**的原因。 – kangax 2009-09-21 23:47:34
尽我所知,在这个例子中,变量在函数执行后是无效的。纠正我,如果我错了,谢谢! – 2009-09-22 12:17:47