The difference between var and let in JavaScript

Var can achieve variable promotion

//定义提升
	console.log(e,window.e);
	var e=104;

//报错f未定义
	 console.log(f,window.f);
	let f=104;

let is loaded asynchronously, var will run after execution

//异步加载 
for(let i=0;i<4;i++){
    
    
	setTimeout(function(){
    
    console.log("let "+i)},1000*i);
}

//先执行循环再timeout
for(var i=0;i<4;i++){
    
    
	setTimeout(function(){
    
    console.log("var "+i)},1000*i);
}

let defines local variables, var defines global variables

for(var i = 0;i<3;i++){
    
    
		let i ="love";
		console.log(i);

	}
	console.log(i);
	var a=100;
	console.log(a,window.a);

	let b=101;
	console.log(b,window.b);
	c=102;
	console.log(c,window.c);
if(1){
    
    
	//aa全局变量
	var aa=105;
	//bb局部变量
	let bb=106;
	//cc局部常量
	const cc=107;
}

//变量作用域
console.log(aa);
console.log(bb);
console.log(cc);
//let不能声明同名变量,var可以声明同名变量

Guess you like

Origin blog.csdn.net/p715306030/article/details/114656020