ホームページ  >  記事  >  ウェブフロントエンド  >  Forloop_JavaScript スキルのセミコロンで区切られた 3 つの部分の実行順序に関するディスカッション

Forloop_JavaScript スキルのセミコロンで区切られた 3 つの部分の実行順序に関するディスカッション

WBOY
WBOYオリジナル
2016-05-16 16:46:431302ブラウズ

この質問のきっかけとなったのは、js プログラムの実行結果です:

コードをコピー コードは次のとおりです:

var i = 0;
関数 a(){
for(i=0;i}
}
関数 b(){
for (i=0;ia();
return i;
}
var Result =

このプログラムの実行結果は Result = 21;

このプログラムから、関数 a が返されたときの i の値は 20 であることがわかりますが、これは問題ありません。
b 関数が戻るとき、i の値が 20 か 21 かは議論の価値があります。
問題の本質は、i を先に判断するのか、i
実行結果によれば、i であることがわかります。最初に処刑されました。

コードをコピー コードは次のとおりです。
function a(){
for (i= 0;i// var i はありません
// ここの i は誰もがアクセスできるグローバル変数です
}
}
関数b(){
for(i=0;i//alert(i);//同様に、ここの i もグローバル変数で、0 を 1 回だけ返します
a();// この関数の戻り値は i=20 です
// i=20 が i を通過し、次に i=21 を通過する場合、i}
return i;
}
var Result = b();

ここで for ループの実行シーケンスを完了します。プログラム たとえば、


コードをコピーします コードは次のとおりです。
for(int i= 0;i{
}


最初に i=0;i を実行します。 : i ,i= 10 になるまでループ本体
の 2 番目のラウンドを実行し、その時点でループが終了します。

つまり、

ステートメント 1 は、ループ (コード ブロック) が開始される前に実行されます。

ステートメント 2 は、ループ (コード ブロック) を実行するための条件を定義します。 >
ステートメント 3 は、ループ (コードのブロック) が実行された後に実行されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。