对于这个片段,我对全局变量“a”的计算结果为 5 并不感到惊讶。
http://jsfiddle.net/MeiJsVa23/gZSxY/:
var a = 10;
function func(){
a = 5;
}
func(); // expect global variable 'a' to be modified to 5;
alert(a); // and this prints out 5 as expected. No surprise here.
但是对于这个代码片段,全局变量 'a' 的计算结果是 10 而不是 5?就好像a = 5
从未发生过一样。
http://jsfiddle.net/MeiJsVa23/2WZ7w/:
var a = 10;
function func(){
a = 5;
var a = 23;
}
func(); // expect global variable 'a' to be modified to 5;
alert(a); // but this prints out 10!! why?
</p>