WEB前端开发学习----7.JavaScript 中 var 的重要性

javascript 是弱数据型语言,也就是说声明变量时不需要指定数据类型。而是在执行时由浏览器中的js引擎来决定。

一般来说,我们需要用var来声明变量,但是写不写有什么区别呢?

 

先看一段代码:

[html] view plaincopy
 
  1. <script type="text/javascript">  
  2. var a=3;  
  3. function test1(){  
  4.     a=100;  
  5. }  
  6. test1();  
  7. alert(a);  
  8.   
  9. var b=3;  
  10. function test2(){  
  11.     var b=100;  
  12. }  
  13. test2();  
  14. alert(b);  
  15.   
  16. c=3;  
  17. function test3(){  
  18.     c=100;  
  19. }  
  20. test3();  
  21. alert(c);  
  22.   
  23. </script>  



 

运行结果为 100  ,3  ,100

经过测试,就结果就很清楚了。在局部环境中,变量如果没有用var 来声明,直接进行赋值,那么这个局部的变量会被javascript当成全局变量。要命的是,如果这个变量是一个函数,那结果就可想而知的惨了。

 

也就是说,如果你不用var,那么这个js引擎会一层一层地向上找父作用域中的变量,如果找到了,就用,如果找不到了,就会帮你定义一个全局的变量。上面这个例子充分说明了这一点。所以,如果你想在当前的作用域用声明变量,你一定要用var。

posted on 2014-12-22 22:47  南阳一小伙  阅读(194)  评论(0编辑  收藏  举报