首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

一个js变量有关问题

2012-11-09 
一个js变量问题HTML codehtmlheadscript typetext/javascriptvar a1function show(){alert(a)

一个js变量问题

HTML code
<html>    <head>        <script type="text/javascript">            var a=1;            function show(){                alert(a);                var a=2;            }        </script>    </head>    <body>        <div onclick="show()">dddd</div>    </body></html>

为什么调用show会显示undefine啊,求解释?

[解决办法]
你alert(a)的a其实指的是你在show中定义的a 此时还未赋值 所以是undefined
你虽然定义a时是在alert之后 但其实是类似于这样的
var a=1;
function show(){
var a;
alert(a);
a=2;
}
[解决办法]
js的预编译导致函数内部变量a覆盖了外部变量,而在alert();语句执行时,变量a(内部)未定义,所以是undefined。

热点排行