下面我会使用几个小例子简单说明var的使用方法和含义。
Var变量,要定义变量,可以使用 var 操作符(注意 var 是一个关键字),后跟变量名(即标识符)也叫创建JavaScript变量是我们在前端里比较常用的吧,在JavaScript中声明变量也称为创建变量,简单点来说就是声明一个变量并给它赋值 :var a = 1;这里我把1赋值给了变量a,就在代码中定义了a的值就是1;我们来看一下控制台输出一下a的值看看:

比如a = 1;这里a并没有声明变量,只是往它的外层寻找一个变量名为a的变量,并且给它赋值为1.(假设外层没有声明为a的变量,那么它就会找到window上为a的变量),但是如果控制台输出a的话,它的结果还是1,因为这里a = 1嘛。
var声明还有一个点要注意,因为JavaScript拥有动态类型,也就意味相同的变量也有了不同形态,

上面变量a因为并没有给它赋值,所以只能是undefined未定义;
变量b,赋值了一个数字1;
变量c,赋值了一个字符串holle,注意用双引号括起来的是字符串,双引号不是字符串的一部分,他们只是通知编译器其中包含了一个字符串,就像字符的单引号一样,表示着一个字符;看一下控制台输出一下:

还有var声明虽然可以重复,比如声明两个变量a,但是代码中这个处于后面的a就会把前面的a覆盖掉,所以这点是要注意的。
按照相关规定,保留的关键字不能用作标识符或属性名,就是不能拿它们来定义,常见的有do、in、for、class等等,实在太多了,在这就不一一列举了,自己上网查。
我们再来看一下var的声明作用域,这里主要讲它的局部变量和全居变量:
先来说说局部变量和全局变量;
- 使用 var 在一个函数内部定义一个变量,可称为局部变量,可以理解为var声明变量,在方法内部是局部变量/局部变量只能在指定函数内可见,函数外面是不可见的,也不允许访问。
- 但是如果不使用var关键字定义的变量都是全局变量,不管是在函数内或者函数外,在整个页面脚本中都是可见的。
它们两个也有着一个生存期
- 局部变量会在函数运行以后被删除
- 全局变量会在页面关闭后被删除
先看图:

这里a变量是在函数内被var定义的。函数usi(),调用它会创建这个变量并给它赋值。但是它一旦被调用之后随即被销毁删除掉,所以a已经没有定义了,也就导致了最后输出出错了。
但是如果把图中var那玩意去掉的话,那么它就变成了全局变量,那么结果就不同了,看图:
可以看到去掉之前的var操作符之后,就变成了全局变量,只要调用一次usi()这个方法,就会定义这个变量,并且可以在函数外部被访问到,所以最后输出就出现了12这个数字。
注意:虽然可以通过省略 var 操作符定义全局变量,但不推荐这么做。在局部作用域中定 义的全局变量很难维护,也会造成困惑。
















