变量提升(预解析)
优点
1.提高性能,提前为变量分配空间
2.提升容错率
缺点
1.不规范的定义会使得某些变量的undefined
2.结构混乱,维护麻烦
a存在变量提升,所以a等于undefined
var a = 1;
let b = 4;
(function() {
console.log(a);//undefined
var a = 3;
let b = 4;
console.log(a, b);//3,4
})()
var a = 1;
let b = 4;
function try1() {
var a = 3;
console.log(a);//undefined
let b = 4;
console.log(a, b);//3,4
};
try1()
作用域内未定义a
var a = 1;
let b = 4;
(function() {
console.log(a); //1
let b = 4;
console.log(a, b); //3,4
})()
var a = 1;
let b = 4;
function try1() {
console.log(a); //1
let b = 4;
console.log(a, b); //3,4
};
try1() <

本文探讨了JavaScript中的变量提升现象,包括它的优点和缺点,如提高性能但可能导致变量未定义的错误和代码结构混乱。同时,介绍了匿名函数的特性,指出函数定义会被提升,而执行保持原位,这可能导致一些特殊的执行顺序问题。
最低0.47元/天 解锁文章
743





