浅谈Javascript定义变量时var声明的区别

简要回顾一下在前一阶段定义变量时使用关键字var的区别。

1。在函数域中由var定义的变量是局部变量,而全局变量不是由var定义的。

使用var定义:


Var a ='Hello World';
函数BB(){
var a =你好比尔;
console.log(一);
}
BB() / /你好比尔
console.log(一); / /你好世界



没有使用var定义:


var a =你好世界;
函数BB(){
a你好比尔;
console.log(一);
}
BB() / /你好比尔
console.log(一); / /你好比尔



2。在全局范围内,使用var来定义变量不能被删除,没有var定义的变量也可以解释隐含的删除。全局变量不是严格的真变量,而是全局对象的属性,因为属性可以通过删除而不是变量来删除。



三.使用var定义变量也促进变量声明,即,

使用var定义:


函数HH(){
console.log(一);
var a =你好世界;
}
HH()未定义



没有使用var定义:


函数HH(){
console.log(一);
a你好世界;
}
HH() / /一个未定义的



这是在var中预先定义的变量声明。



4。在the'use strict'mode的ES5,如果变量不使用VaR的定义,将错误报告。