js中const,var,let区别

时间:2021-07-11 21:04:55

js中const,var,let区别

1.const定义的变量不可以修改,而且必须初始化(常量)

const b = 5  // 正确

// const b   // 错误,必须初始化

// b = 4  // 错误,不可被修改

console.log('函数外const定义b:' + b)

2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错

for (var i=0;i<=1000;i++) {
  var sum=0;
  sum += i;
}
console.log(sum)

声明在for循环内部的sum,跳出for循环一样可以使用,不会报错正常弹出结果

3.let是块级作用域,声明块级变量,即局部变量。

for (var i=0;i<=1000;i++) {
  let sum=0;
  sum += i;
}
console.log(sum)

跳出for循环,再使用sum变量就会报错,有着严格的作用域,变量只作用域当前隶属的代码块,不可重复定义同一个变量,不可在声明之前调用,必须先定义再使用,会报错,循环体中可以用let

注意:必须声明'use strict';后才能使用let声明变量否则浏览并不能显示结果,