pla*_*web 0 javascript variables scope hoisting
我有一个问题,理解为什么名字在这里得到一个值
(function() {
(function() {
var name = 'Fido';
})();
})();
console.log(name + ' says woof'); //Output: Fido says woof
Run Code Online (Sandbox Code Playgroud)
变量名称不应该是内部函数的本地名称吗?
变量是本地变量,您看到的值不是来自函数内部的赋值.
您也将窗口命名为"Fido",当您name在全局范围内使用时,您将获得该window.name属性.
如果你在一个jsfiddle中尝试它,你会得到"结果说woof".
演示:http://jsfiddle.net/Guffa/eDxf3/