javascript 是弱数据型语言,也就是说声明变量时不须要指定数据类型。而是在执行时由浏览器中的js引擎来决定。javascript
通常来讲,咱们须要用var来声明变量,可是写不写有什么区别呢?html
先看一段代码:java
运行结果为 100 ,3 ,100浏览器
通过测试,就结果就很清楚了。在局部环境中,变量若是没有用var 来声明,直接进行赋值,那么这个局部的变量会被javascript当成全局变量。要命的是,若是这个变量是一个函数,那结果就可想而知的惨了。函数
也就是说,若是你不用var,那么这个js引擎会一层一层地向上找父做用域中的变量,若是找到了,就用,若是找不到了,就会帮你定义一个全局的变量。上面这个例子充分说明了这一点。因此,若是你想在当前的做用域用声明变量,你必定要用var。测试