JavaScript指南中有一个关于变量范围的句子:"JavaScript中的变量在某种意义上"被提升"或被提升到函数或语句的顶部.但是,未初始化的变量将返回未定义的值."
/**
* Example 2
*/
// will return a value of undefined
var myvar = "my value";
(function() {
console.log(myvar); // undefined
var myvar = "local value";
})();
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么"console.log(myvar);"将返回undefined?我认为第一行已经将myvar初始化为"我的价值".
我理解自动执行匿名函数是什么,但我无法理解我将在何处使用它们以及为什么.这可能是因为我经常使用jQuery.你能提供好用例的例子吗?