WEB前端开发学习----7.JavaScript 中 var 的重要性
javascript 是弱数据型语言,也就是说声明变量时不需要指定数据类型。而是在执行时由浏览器中的js引擎来决定。
一般来说,我们需要用var来声明变量,但是写不写有什么区别呢?
先看一段代码:
- <script type="text/javascript">
- var a=3;
- function test1(){
- a=100;
- }
- test1();
- alert(a);
- var b=3;
- function test2(){
- var b=100;
- }
- test2();
- alert(b);
- c=3;
- function test3(){
- c=100;
- }
- test3();
- alert(c);
- </script>
运行结果为 100 ,3 ,100
经过测试,就结果就很清楚了。在局部环境中,变量如果没有用var 来声明,直接进行赋值,那么这个局部的变量会被javascript当成全局变量。要命的是,如果这个变量是一个函数,那结果就可想而知的惨了。
也就是说,如果你不用var,那么这个js引擎会一层一层地向上找父作用域中的变量,如果找到了,就用,如果找不到了,就会帮你定义一个全局的变量。上面这个例子充分说明了这一点。所以,如果你想在当前的作用域用声明变量,你一定要用var。