JavaScript フロー制御 (ループ)

JavaScript フロー制御 (ループ)

1. forループ

プログラムでは、繰り返し実行される文の集まりをループ本体と呼びます。実行を継続できるかどうかは、ループの終了条件によって決まります。ループ本体とループ終了条件で構成される文をループ文と呼びます。
forループは主に、通常はカウントに関連する特定のコードを複数回ループするために使用されます。

その文法構造は次のとおりです。

for(変数の初期化; 条件式; 演算式){
    //ループ本体}

  • 変数を初期化する:通常はカウンターを初期化するために使用されます。この式では、 varキーワードを使用して新しい変数を宣言し、回数を記録するのに役立ちます。
  • 条件式:各ループを実行できるかどうかを判断するために使用されます。結果がtrueの場合はループを続行し、そうでない場合はループを終了します。
  • 演算式:各ループの最後に実行される式。通常、カウンター変数を更新または増分するために使用されます。もちろん、変数を減算することも可能です。

たとえば、 for ループを使用して同じコードを実行し、 「I love learning front-end」を 10 回出力します。

(i=0;i<10;i++)の場合{
    console.log('フロントエンドを学ぶのが大好きです');
}

出力は次のようになります。

もう 1 つの例は、for ループを使用してさまざまなコードを実行することです。人の年齢を 1 から 20 まで出力します。

(var i = 1; i <= 20; i++) の場合 {
    console.log('この人は' + i + '歳です');
}

出力は次のようになります。

2. 二重の for ループ

ループのネストとは、ループ ステートメント内で別のループ ステートメントを定義する文法構造を指します。たとえば、for ループ ステートメント内で別の for ループをネストできます。このような for ループ ステートメントを二重 for ループと呼びます。

文法構造:

for (外側のループ開始; 外側のループ条件; 外側のループ演算式) {
    for (内側ループの開始; 内側ループの条件; 内側ループの操作式) {  
       実行されるコード。
   }
}

  • 内側のループは外側のループのステートメントとみなすことができます
  • 内側のループの実行順序もforループの実行順序に従う必要がある
  • 外側のループは1回実行され、内側のループは常に実行される。

たとえば、星を 5 行 5 列印刷します。

コア:

  • (1)内側のループは5つの星を一列に印刷する役割を担う
  • (2)外側のループは5行を印刷する役割を担う

var スター = '';
(var j = 1; j <= 3; j++) の場合 {
    (var i = 1; i <= 3; i++) の場合 {
      星 += '☆'
    }
    // 星が 5 つになるたびに改行を追加します star += '\n'
}
コンソールログ(スター);

実行結果は次のとおりです。

3. whileループ

whileステートメントは、条件式が true である間、ループ内の指定されたコードセクションを実行し、式が true でない場合はループを終了できます。

while ステートメントの構文は次のとおりです。

while (条件式) {
    // ループ本体コード}

実装のアイデア:

  • (1)まず条件式を実行します。結果がtrueの場合はループ本体のコードを実行し、 falseの場合はループを終了して次のコードを実行します。
  • (2)ループ本体コードを実行する
  • (3)ループ本体コードの実行後、プログラムは実行条件式の判定を継続する。条件がまだtrueであれば、ループ本体はループ条件がfalseなるまで実行を継続し、ループ処理全体が終了される。

以下の点に注意してください。

whileループを使用する場合は、終了条件が必要であることに注意してください。終了条件がないと、無限ループになります。
whileループとforループの違いは、 whileループではユーザー名とパスワードの判定など、より複雑な条件判定を行うことができることです。

たとえば、while ループを使用して、1 から 100 までのすべての整数の合計を計算します。

var 合計 = 0;
var i = 0;
i<=100 の場合{
    合計 += i;
    私は++;
}
console.log(合計);

出力は次のようになります。

4. whileループを実行する

do… whileステートメントは、実際にはwhileステートメントのバリエーションです。ループはコード ブロックを 1 回実行し、条件式を判断します。条件が true の場合、ループ本体が繰り返し実行され、そうでない場合はループが終了します。

do... while ステートメントの文法構造は次のとおりです。

する {
    // ループ本体コード - 条件式が true の間、ループ本体コードを繰り返し実行します } while(条件式);

実装のアイデア:

  • ループコードを1回実行する
  • 条件式を再度実行します。結果がtrueの場合は、ループ本体のコードの実行を続行します。結果がfalseの場合は、ループを終了し、次のコードの実行を続行します。

注:最初にループ本体を実行してから判断すると、do...while ループステートメントがループ本体コードを少なくとも 1 回実行することがわかります。

たとえば、 do while ループを使用して 1 から 100 までのすべての整数の合計を計算します。

var 合計 = 0;
var i = 0;
する{
    合計 += i;
    私は++;
}i<=100 の場合
console.log(合計);

5. サイクルの概要

JS にはforループ、 whiledo whileループがあります。
3つのループは多くの場合、互換的に使用できます。回数を数える場合、3つのループは基本的に同じですが、
whiledo…whileより複雑な判断条件を設定でき、 for ループよりも柔軟性があります。
whiledo…whileの実行順序は異なります。whileは最初に判断してから実行しますが、while do...whileは最初に1回実行してから判断して実行します。
whiledo…whileの実行時間は異なります。do...while はループ本体を少なくとも 1 回実行しますが、while while は 1 回実行しない場合があります。

6. 休憩を続ける

1. continueキーワード

continueキーワードは、現在のループからすぐに抜けて次のループに進むために使用されます (現在のループ本体のcontinueの後のコードは 1 回少なく実行されます)。
たとえば、パンを 5 個食べて、3 個目に虫がいた場合は、3 個目を捨てて、4 個目と 5 個目のパンを食べ続ける必要があります。

コードの実装は次のとおりです。

(var i = 1; i <= 5; i++) の場合 {
     もし (i == 3) {
         console.log('このパンには虫がいます。捨ててください');
         continue; // このループから抜け出します。抜け出すのは 3 番目のループです}
      console.log('私は' + i + '番目のパンを食べています');
 }

2. breakキーワード

breakキーワードは、ループ全体 (ループの終了) からすぐに抜け出すために使用されます。

たとえば、パンを 5 個食べて、3 個目の半分に虫が入っていることがわかったら、残りは食べません。コードは次のとおりです。

(var i = 1; i <= 5; i++) の場合 {
   もし (i == 3) {
       break; // for ループ全体を直接終了し、for 全体の下のステートメントにジャンプします }
   console.log('私は' + i + '番目のパンを食べています');
 }

JavaScript フロー制御 (ループ) に関するこの記事はこれで終わりです。JavaScript フロー制御に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript フロー制御 (分岐)
  • JavaScript フロー制御ステートメントのコレクション
  • JSP を使用して掛け算表を生成する簡単な例
  • jsは掛け算表の華やかな効果を実現します
  • JavaScript で掛け算表を書く (オプション 2 つ)
  • この記事では、JavaScriptを使用してプロセス制御を使用して掛け算表を印刷する方法を説明します。

<<:  単純なCSSの詳細に惚れ込むと、重要ではないものの、効率性が向上する可能性がある

>>:  html 内の絶対パス URL と相対パス URL、サブディレクトリ、親ディレクトリ、ルート ディレクトリ

推薦する

Zabbix パスワードをリセットする方法 (ワンステップ)

問題の説明長い間アカウントパスワードを入力して Zabbix にログインしていないため、管理者パスワ...

テーブルの追加と削除の操作を実装する js

この記事の例では、テーブルを追加および削除するためのjsの具体的なコードを参考までに共有しています。...

Telnet は Alpine イメージの busybox-extras に移動されました

Alpine イメージの telnet はバージョン 3.7 以降、busybox-extras パ...

HTML onfocus gain focus および onblur lose focus イベントの詳細な説明

HTML onfocus イベント属性定義と使用法onfocus 属性は、要素がフォーカスを受け取っ...

IE8互換表示(IE7モード)とスタンドアロンIE7の違いの詳細な説明

1つ。 IE8 互換表示の概要<br />新しいバージョンのブラウザが古い Web サイ...

Mysql のデッドロックの表示とデッドロックの除去の詳細な説明

序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...

Vueタブとキャッシュページを切り替えるいくつかの方法

目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...

ボタンの 4 つのクリック応答方法の概要

ボタンは頻繁に使用されます。ここでは、イベント処理メソッドを整理し、実装方法が多数あることを発見しま...

CSS3のtransform属性で実装される4つの機能

CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という...

MYSQL クエリの効率を向上させる 10 の SQL ステートメント最適化テクニック

MySQL データベースの実行効率はプログラムの実行速度に大きな影響を与えます。データベースの効率的...

MySQLの最適化の詳細な分析とパフォーマンス

導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...

Docker-compose インストール db2 データベース操作

db2 データベースをホストマシンに直接インストールするのは面倒で、ユーザーや権限を巻き込むのも不便...

WeChatアプレットでのwxsファイルの素晴らしい使い方をいくつか紹介します

目次序文応用フィルタードラッグファイル間での参照の受け渡しwxsはjsロジック層にパラメータを渡しま...

Linux で so または実行可能プログラムの依存ライブラリを表示します

Linux で実行可能プログラムまたは so の依存ライブラリを表示します。 Linux の実行可能...

Dockerfile ビルド中に発生する「/bin/sh: pip: コマンドが見つかりません」という問題の解決方法

記述した Dockerfile の内容は次のとおりです。 Python:3.6.8 から pip i...