var命令
我们在ES5声明一个变量使用关键字 var,例如:
var a = 1;
var b = 2;
function add(a,b){
var c = a + b;
return c;
}
add(a,b);
console.log("a + b = ",c); // a + b = 3
b = c;
console.log("b = ",b) // b = 3;
运行上面例子我们可以看到变量 b 由原来的2变成了3,变量c在函数内部声明,在函数外部也可以使用。
let命令
let命令具有块级作用域
{
let a = 1;
console.log(a); // 1
} // 花括号内有效
console.log(a); // a is not defined
let命令不存在变量提升
console.log(a); // a is not defined
let a = 1;
let命令不允许重复声明
let a = 1;
let a = 2;
// Identifier 'a' has alreay been declared
const命令
const命令声明值不可变变量
const PI = 3.1415;
console.log(PI); // 3.1415
PI = 3.14; // Assignment to constant variable
const命令和let命令一样具有块级作用域,不存在变量提升,不允许重复声明
var命令声明的变量具有全局对象的属性,let命令,const命令申明的变量不属于全局对象的属性
var a = 1;
console.log(window.a); // 1
let b = 2;
console.log(window.b); // undefined
const c = 3;
console.log(window.c); // undefined
90后小生,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的全栈开发者一枚。
作者:Anting全栈开发
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论