1。根据作用范围不同,变量有全局变量和局部变量两种。在函数里定义的变量为局部变量,局部变量只在函数内有效。 如果局部变量和全局变量用相同的变量名,则局部变量将覆盖全局变量
2。JavaScript语言没有块范围。
因为JavaScript语言没有块范围,有时会出现一些非常奇怪的结果:
变量作用范围在进行HTML事件处理时一样有效:
<script type="text/javascript">
var x = "全局变量";
</script>
<form action="#" method="get">
<input type="button" value="局部变量"
onclick="var x = '局部变量'; alert('输出x局部变量的值:' + x);" />
<input type="button" value="全局变量 "
onclick="alert('输出x全局变量的值: ' + x);" />
</form>