内容来源:http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html
JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析)。当你使用了一个变量,然后不久在函数中又重新声明的话,就可能产生逻辑错误。对于JavaScript,只 要你的变量是在同一个作用域中(同一函数),它都被当做是声明的,即使是它在var声明前使用的时候。
myname = "global";
// 全局变量
function func() {
alert(myname); // "undefined"
var myname = "local"
;
alert(myname); // "local"
}
func();
转载于:https://www.cnblogs.com/onedayof2010/p/4272730.html
相关资源:理解 JavaScript 预解析