var let const 都是来定义变量的。
var let 作用域有些区别。
const 类似于java中的常量的概念。即:只能给一个变量赋值一次,即指定一个引用。
举例来说:
1 function test(){ 2 var i=1; 3 console.log(i); 4 console.log(j); 5 var j=2; 6 } 7 test(); 8 console.log(i);
可以预计第一个输出 1 ,第二个输出 undefined,第三个输出0;
如果用let 取代 var
1 function test(){ 2 let i=1; 3 console.log(i); 4 console.log(j); 5 let j=2; 6 } 7 test(); 8 console.log(i);
可以预计 第一个输出 1 第二个 和第三个都报错,应为并没有声明这二个变量,因此let作用域更严谨。