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、サブディレクトリ、親ディレクトリ、ルート ディレクトリ

推薦する

JavaScript の async と await のシンプルで詳細な学習

目次1. はじめに2. 詳しい説明2.1、非同期2.1.1. 関数はPromise以外のオブジェクト...

Electronで不規則な形状の透明部分をクリックする実装

目次不規則なフォームの実装透明な部分をクリックする不規則なフォームの実装ここでは円形フォームを実装し...

HTML テーブル マークアップ チュートリアル (5): ライト ボーダー カラー属性 BORDERCOLORLIGHT

表では、左上の境界線の色を個別に定義したり、セルの右下の境界線の色を定義したりできます。これら 2 ...

vueはEle.me UIを使用してteambitionのフィルタリング機能を模倣します

目次問題の説明一般的な機能効果は次のとおりです。思考分析完全なコード要約する問題の説明Teambit...

CentOS7 64ビットインストールmysqlグラフィックチュートリアル

MySQL をインストールするための前提条件: CentOS 7 64 ビットをインストールし、Ce...

CSSレイアウトにおけるフロート属性と位置属性の違い

CSS レイアウト - position プロパティposition 属性は、要素に適用する配置方法...

MySQL で最大接続数を設定するためのヒントのまとめ

方法1: コマンドラインの変更次の図に示すように、MySQL コンソールを開いて「set GLOBA...

88 秒で 1,000 万件のレコードを MySQL データベース テーブルに挿入する方法

私が使用しているデータベースはMySQLデータベースバージョン5.7ですまずデータベーステーブルを自...

MySQL ピボットテーブルについての簡単な説明

次のような製品部品表があります。一部 部品ID 部品タイプ 製品ID ---------------...

Docker-compose は Docker プライベート ウェアハウスのステップを迅速に構築します

docker-compose.ymlを作成し、次の内容を入力します。 バージョン: '3&#...

MySQLプリコンパイル機能の詳細な説明

この記事では、MySQLのプリコンパイル機能について紹介します。具体的な内容は以下のとおりです。 1...

MYSQLが中国語を認識できない問題の恒久的な解決策

ほとんどの場合、MySQL はインストールしたばかりのときは中国語をサポートしません。これはエンコー...

Linux システムのデュアル ネットワーク カード バインディング構成の実装

システムバージョン [root@ ~]# cat /etc/redhat-release CentO...

優れたウェブサイトのコピーライティングと優れたユーザーエクスペリエンス

ウェブサイトを見るというのは、実は美しい女性を評価するようなものです。見た目を見るとき、私たちは見た...

Ubuntu 14.04 に FTP サーバーをインストールするための実装手順

目次インストールソフトウェア管理匿名アクセスモード設定ファイルを変更するクライアントがサーバーにログ...