let
let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值。
例子:
//let 声明变量
function test(){
for(let a = 1; a < 3; a++){
console.log(a)
}
console.log(a);
}
test();
输出结果:let结果.png
//var 声明变量
function test(){
for(var a = 1; a < 3; a++){
console.log(a)
}
console.log(a);
}
test();
输出结果:
var结果.png
错误分析:let声明一个块作用域的本地变量,当执行到
for(){}
结束后,相当于块作用域的生命周期结束,在外面再次访问变量a的时候,就会出现没有定义,引用错误的错误提示。
let不可重复声明同一个变量
function test(){
let a = 1;
let a = 2;
}
test();
错误结果:let重复声明变量错误
const
常量是块级作用域,很像使用 let 语句定义的变量。常量的值不能通过重新赋值来改变,并且不能重新声明。
例子:
function test(){
const P = 1314;
P = 3344;
console.log(P);
}
test();
错误结果:重新赋值const声明的常量错误显示.png
const 声明常量必须有值,否则会出现错误。
function test(){
const P;
P = 3344;
console.log(P);
}
test();
错误结果:const不声明常量时报错.png
const对于对象的声明比较特殊。
function test(){
const P = 3;
const k = {
a: 1
};
k.b = 2;
console.log(P,k);
}
test();
输出结果:输出结果.png