1、const 定义的变量不可修改且必须初始化
const b = 2;//const b; //错误,必须初始化console.log('函数外const定义b:'+b);//有输出值//b=5;console.log('函数外修改const定义b:'+b);//无法输出
2、var 定义的变量可以修改,如果不初始化会输出undefine,不会报错
var a = 1;//var a; //不会报错console.log('函数外定义a:'+a);//可以输出a=1function change(){ a = 4; console.log('函数内定义a:'+a)}change();console.log('函数调用后var 定义a为函数内部修改值:'+a);//可以输出a=4;
3、let 是块级作用域,函数内部使用let定义后,对函数外部无影响
let c =3;console.log('函数外let定义c:'+c);function change(){ let c= 6; console.log('函数内定义c:'+c);//输出c=6}change();console.log('函数调用后let定义c不受函数定义影响:'+ c); //输出c=3;