奇怪的变量范围问题

时间:2012-08-17 12:14:32

标签: javascript scope

我不太清楚为什么会这样,如果有人可以向我解释这一点会很棒。

所以我得到了以下代码:

var text = 'yes';
(function f() {
    alert(text);
})();

它按预期警告'是'。但如果我这样扩展它:

var text = 'yes';
(function f() {
    alert(text);
    var text = 'no';
})();

我非常希望这也能提醒'是'然后覆盖本地范围内的文本变量。但相反,它会提示未定义。

这是在当前的Chrome和Firefox中测试的,所以这似乎是一种想要的行为?!

0 个答案:

没有答案