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

推薦する

Vue 父子価値移転、兄弟価値移転、子父価値移転の詳細な説明

目次1. 親コンポーネントが子コンポーネントに値を渡す1. 親コンポーネント.vue 2. サブコン...

MySQL で group by を使用すると常にエラー 1055 が発生します (推奨)

MySQL で group by を使用すると常にエラー 1055 が発生するため、原因を確認する...

Centos に MYSQL8.X をインストールするチュートリアル

MySQLのインストール(4、5、6は省略可能)ステートメント: CentOS のバージョンは 7....

iframe なしの div ネスト HTML

最近、宿題をしているときに、iframe を使用せずにページをネストする必要があったため、jquer...

jconsole を使用してリモート Tomcat サービスを監視する方法

JConsoleとはJConsole は Java 5 で導入されました。 JConsole は、コ...

Vuexはセッションストレージデータを結合して、ページを更新するときにデータが失われる問題を解決します

目次序文1. 理由: 2. 解決策のアイデア: 1. ローカル保存方法: 2. 実装手順: 3. 最...

VMware に Centos8 をインストールする詳細なチュートリアル

CentOS公式サイトアドレスhttps://www.centos.org/まず必要なファイルをダウ...

Iframe の内外のページで JS がどのように動作するかの概要

目次iframeの外側のiframeのコンテンツを取得する方法1方法2 iframe 内の ifra...

js でシンプルなタブを実装する

タブ選択カードは、実際の Web ページで非常に頻繁に使用されます。基本的に、すべての Web ペー...

Vueのprovideとinjectの使い方と原則を分析する

まず、provide/inject を使用する理由について説明しましょう。祖父コンポーネントと孫コン...

Centos に PHP7.4 と Nginx をインストールする方法

準備する1. 必要なインストールパッケージをダウンロードするhttps://www.php.net/...

子ども向けウェブサイトの視覚構造レイアウト設計手法の分析

1. 温かくて優しい関連アドレス: http://www.web-designers.cn/post...

LinuxサーバのSSHクラッキング防止方法(推奨)

1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...

nginx を介してローカルでリバースプロキシを構成するプロセス全体

序文Nginx は、イベント駆動型の非同期非ブロッキング処理フレームワークを使用する軽量 HTTP ...

MySQL の遅いクエリの最適化方法と最適化の原則

1. 日付のサイズを比較するには、XML に渡される日付形式は 'yyyy-MM-dd...