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
声明变量否则浏览并不能显示结果,