javascript的变量也有局部变量和全局变量之分,但是它的变量作用域和java,C#完全不同。在Javascript中,作用域受函数的约束,而不是受块(比如:while,for)的约束;
(1) 任何全局变量都是window对象的一个属性.比如:
1 | <script> |
2 | var temp = "aa" ; |
3 | alert(window.temp==temp); |
4 | </script> |
这句代码的结果是:true;
(2) 局部变量,javascript的局部变量只有函数作用域,没有块级作用域,在函数中,使用var关键字声明的变量;如果不用var关键字,函数被调用后,这个变量就变成全局的了。
1 | <script> |
2 | function test() |
3 | { |
4 | tmp= "test" ; |
5 | } |
6 | test(); |
7 | alert(tmp); |
8 | </script> |
你会发现,弹出“test”,所以定义变量要注意喽。。