js变量提升

Javascript云寻咋函数的任何地方声明变量,无论在哪里声明,效果都等同于在函数顶部声明。这就是所谓的变量提升。

当使用变量之后,再在后面声明改变量,可能就会出现逻辑错误。

//反模式

myname = "global";

function func (){

  alert(myname);//未定义

  var myname = "local";

  alert(myname);//局部变量

}

//-----------------------------------------//

myname = "global";

function func (){

  var myname;// 等同于 var myname = undefined;

  alert(myname);//未定义

  myname = "local";

  alert(myname);//局部变量

}

该函数效果与上面的函数效果一样

原文地址:https://www.cnblogs.com/yun007/p/3121308.html