const ,let 和 var 变量声明提升的区别
第一种情况:
let name = 'Dylan'
function getName() { console.log(name) let name = 'Deal' } getName(); // Cannot access 'name' before initialization
// function 函数首先在其上下文(范围)内进行查找
// let 和 const 的变量被提升,但是与var 不同,它不会被初始化
// 在我们声明变量初始化之前,我们无法访问。 称为‘暂时性死区’
第二种情况:
let name = 'Dylan'
function getName() {
console.log(name)
var name = 'Deal'
}
getName(); //undefined
// var 就不会报错,而是undefined 未定义
第三种情况:
let name = 'Dylan' function getName() { console.log(name) // Dylan } getName();

浙公网安备 33010602011771号