js中let和var定义(声明)变量的区别

我来纠错
//let
声明块级变量
//let实例:
for (let i = 0; i < 3; i++) {
	setTimeout(function(){
        console.log(i);  //用let声明一个块级作用域的本地变量i,可正常输出
    },500);	
};

//var
声明的变量作用域不是块级的,会扩大变量的作用域,可能造成不必要的 shadow(变量覆盖),通常情况下都不是想要的结果。
//var实例:
for (var i = 0; i < 3; i++) {
	setTimeout(function(){
		console.log(i); //每次执行的都是i的最后一个值3
	},500);	
};
发送
热门关键词:
命令
知识类型:
标题描述:
详细解答:

提交审核您编辑的知识会经过 前端大牛 人工审核。