JavaScriptのコアクロージャーとスコープを本当に理解するのに役立つ5つの小さなスクリプトを以下に示します。コンソールを実行する前に、各ケースでポップアップするものに答えてみてください。次に、テストファイルを作成して回答を確認できます。準備はできたか?
1。
コードコピーは次のとおりです。
if(!( "a" in Window)){
var a = 1;
}
アラート(a);
2。
コードコピーは次のとおりです。
var a = 1、
b =関数a(x){
x && a( - x);
};
アラート(a);
3。
コードコピーは次のとおりです。
関数a(x){
x * 2を返します。
}
var a;
アラート(a);
4。
コードコピーは次のとおりです。
関数B(x、y、a){
引数[2] = 10;
アラート(a);
}
B(1、2、3);
5。
コードコピーは次のとおりです。
関数a(){
アラート(これ);
}
A.Call(null);
私の予測の答えは次のとおりです:未定義、1、わからない、10、null
答えはこの記事の最後にあります。答えを見る前に、あなたはあえてあなたの推測を残しますか?
正解:1。未定義2。13。関数a(x){return x * 2}4。105。[オブジェクトウィンドウ]