js中var的有或无--重复声明和以后的声明
使用var语句多次声明一个变量不仅是合法的,而且也不会造成任何错误.
如果重复使用的一个声明有一个初始值,那么它担当的不过是一个赋值语句的角色.
如果重复使用的一个声明没有一个初始值,那么它不会对原来存在的变量有任何的影响.
如果尝试读一个未声明的变量的值,JavaScript会生成一个错误.如果尝试给一个未用var声明的变量赋值,JavaScript会隐式声明该变 量.但要注意的,隐式声明的变量总是被创建为全局变量,即使该变量只在一个函数体内使用.局部变量是只在一个函数中使用,要防止在创建局部变量时创建全局 变量(或采用已有的全局变量),就必须在函数体内使用var语句.无论是全局变量还是局部变量,最好都使用var语句创建.
<script language="javascript"> /** first example */ num1 = 1; function foo1() { var num1 = 2; document.write(num1); // 输出 : 2 (全局变量被覆盖) } </script> <script language="javascript"> /** second example */ function foo2(){ num2 = 1; } function foo2_1(){ document.write(num2); // 输出 : 1 (未用var声明,尝试赋值,变量默认为全局类型) } </script>