一个js变量有关问题
一个js变量问题
为什么调用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。
- 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。