`var`是一个关键字,用于声明和定义变量。在JavaScript中,`var`用于声明一个变量,并且给变量分配一个初始值。
在ES5中,使用`var`可以声明全局变量和局部变量。如果在函数内部使用`var`声明一个变量,则该变量的作用范围仅限于该函数内部。而在函数外部使用`var`声明变量,该变量则为全局变量,在整个程序中都可以访问和使用。
使用`var`声明的变量存在变量提升的特性,即在代码中可以先使用变量,再在后面声明变量,而不会报错。这是因为在JavaScript代码执行前,会对变量进行提升操作,将变量的声明提升到代码的最前面。
另外,使用`var`声明的变量是函数作用域(function scope),即该变量的作用范围仅限于声明它的函数内部。在这个作用范围外,无法访问该变量。如果在函数中没有使用`var`声明一个变量,直接给变量赋值,这个变量将成为全局变量,对于整个程序是可见的。
然而,在ES6(ES2015)之后,引入了`let`和`const`关键字,用于声明块级作用域(block scope)的变量。`let`和`const`具有更严格的作用域规则,可以避免变量提升和全局污染的问题。因此,在ES6中,推荐使用`let`和`const`来声明变量,而尽量少使用`var`。
总结来说,`var`关键字用于声明变量,在ES5中使用较多,但在ES6中被`let`和`const`所取代,仍然需要了解和理解`var`的特性,以便维护和理解遗留的旧代码。