一: 变量提升与否
var:
console.log(a);
// undefined
var a = 'abc'
;
// 这段代码实际执行顺序是:
var a;
//变量声明提升至当前作用域顶部
console.log(a);
a = 'abc';
let:
console.log(a);
// 报错: a is not defined
let a = 'abc'
;
// 这里, 用let声明变量, 变量声明不会提升, 完全按照文档流的执行顺序走
二:作用域问题
var:
for (
var i = 0; i<10; i
) {
// code..
}
console.log(i); // 输出 10
let:
for (
let i = 0; i<10; i
) {
// code..
}
console.log(i); // 报错: i is not defined// let 作用于 代码块 {}
获取更过 点击这里
更多专业前端知识,请上
【猿2048】www.mk2048.com
转载请注明原文地址: https://mac.8miu.com/read-53492.html