一个javascript的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 14:33:12
<script language=javascript type=text/javascript>
<!--
function get_global_var(name)
{
return eval(name);
}
var aa=11;
Test();
function Test()
{
var aa=33;
alert(get_global_var(aa)) //(1)
alert(get_global_var("aa")) //(2)
}
//-->
</script>
为什么(1)得到的是33,(2)得到的却是11
为什么加了引号就变成11了

alert(get_global_var(aa)) //(1)
这句的实际执行是:
alert(get_global_var(33)) //(1)
因为在Test函数中,定义了一个变量aa,所以它得到的是33,如果在Test函数中没定义aa的话,那么它的值将是11;


alert(get_global_var("aa")) //(2)
这句它是传递一个字符串,这个字符串经过 eval 方法之后就是:
return aa;,而在get_global_var函数中没有定义aa,所以它取的值是全局变量aa的值。

我想与哪个引号有关系哦!