外部変数から分離された外部関数の変数と同じ名前を持つ内部関数内で定義された変数はありますか?JavaScriptのクロージャと名前のクローバー
function() {
var myTest = "hi there";
(function(myTest) {
myTest = "goodbye!";
})();
console.log(myTest); // myTest should still be "hi there" here, correct?
}
私は内側の関数内宣言myTest
をしなかった場合は当然、それはクロージャを作成し、元を変更します。私は、内部関数内で宣言された変数が、その名前が外部スコープと競合する可能性がある場合でも、その関数に常に隔離されていることを確認したいだけです。
私はあなたが意味すると仮定し、「使用」することで、正しい「宣言」? – devios1
@chaiguy:はい、申し訳ありません。そこに私の言葉を混ぜ合わせた。 – Ryan
この方法では、スコープ検索も行われません。 –