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”,所以定义变量要注意喽。。
本文详细解析了JavaScript中变量的作用域特性,包括全局变量作为window对象属性的特点及局部变量仅具有的函数作用域,而非块级作用域,并通过实例演示了如何避免变量提升为全局变量的问题。
1082

被折叠的 条评论
为什么被折叠?



