函数内变量的提升(function hoisting)

版权声明:内容多为自言自语,请自行判断有无价值。 https://blog.csdn.net/weixin_41702247/article/details/81538280

1.函数内外有重名的变量时,局部变量会覆盖全局变量,原因是函数域优先于全局域

2.当js执行进入函数时,函数内部声明过的所有变量会被提到最前,但同时对变量的赋值等操作不会被提升

例:

var a=123;
function test(){
    alert(a);   //undefined
    var a=1;
    alert(a);   //1
}
test();

故:最好在函数的最上面声明所有会用到的变量。

猜你喜欢

转载自blog.csdn.net/weixin_41702247/article/details/81538280