<script LANGUAGE="JavaScript" type="text/javascript">
var a=100;
function x()
{
var b = a*2;
var a = 200;
var c = a/2;
alert("b="+b+", c="+c);
}
x();
</script>
以上代码运行后输出结果为:b=NaN, c=100。
不知道js局部变量与全局变量重复定义后产生这种结果是什么原理?
一个局部变量的名称可以与某个全局变量的名称相同,但这是完全不同和独立的两个变量。因此,更改一个变量的值不会影响另一个变量的值。在声明局部变量的函数内,只有该局部变量有意义。
能从浏览器解释执行js的角度讲一下吗,我就是想知道为什么js在声明局部变量的函数内,只有该局部变量有意义,跟c不一样。