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