<script type="text/javascript">
var a="ssdsds";
function f( ){
alert(a);
var a=23;
}
f( );
var a="ssdsds";
function f( ){
alert(a);
var a=23;
}
f( );
</script>
结果是undefined,如果没有var a=23,则值应为ssdsds。
这里要注意虽然 var a=23再alert(a)的后面,但是函数体内定义的局部变量在整个函数体里都会发生作用,但是也有个问题,为什么不会直接读取23的值呢,那是因为如果没遇到“var”,则变量不会初始化,于是值就只能是undefined,但也绝对不会取到外边的全局变量值"ssdsds"。