なぜそれが起こっているのかよくわかりません。誰かが私にこれを説明できれば素晴らしいと思います。
だから私は次のコードを手に入れました:
var text = 'yes';
(function f() {
alert(text);
})();
そして、期待どおりに「はい」と警告します。しかし、私がそれをこのように拡張すると:
var text = 'yes';
(function f() {
alert(text);
var text = 'no';
})();
これも「yes」を警告し、ローカルスコープのテキスト変数を上書きすることを期待しています。しかし、代わりにそれは未定義を警告します。
これは現在のChromeとFirefoxでテストされているので、これは望ましい動作のようです。