js变量提升(hoisting)

变量提升 又叫变量声明 提升到 当前所在作用域 最前面
如:

var a = 5;
function fn(){
	a; // undefined
	var a = 6;
	a; // 6
}
fn();

为何 函数 内 第一个 a = undefined
我们可以借用变量提升的规则转写为

function fn(){
	var a = undefined;
	a; // undefined
	a = 6;
	a; // 6
}

这样是否就十分清晰 js 会将 函数或变量声明 默认提升到当前作用域最前面,而以上例子当前的作用域为函数fn

猜你喜欢

转载自blog.csdn.net/weixin_42043407/article/details/121400126