Javascriptの基本ループの詳しい説明

Javascriptの基本ループの詳しい説明

サイクル

のために

ループは、コードの一部を繰り返し実行するために使用される、あらゆる言語のコマンドです。

たとえば、コード ブロックを 5 回ループするには、次のようにします。

(i = 0; i < 5; i++ とします) {
  let text = `現在の番号は ${i} です`
  console.log(テキスト)
}

// 出力:
現在の数は0です
現在の番号は1です
現在の数は2です
現在の数は3です
現在の数は4です

この例では、let i = 0 はループ カウンター変数を宣言し、i < 5 はループ終了条件、i++ はカウンター変数更新ステップ、{} 内のすべてのコードはループ本体内のコード ブロックです。

具体的なプロセスは、カウント変数が終了条件判定操作を実行し、結果が真であればループ本体が実行され、終了後、ステップ長が更新されて新しい結果が取得され、再び判定に参加します。結果が偽であれば、ループは直ちに終了します。

そのため、ループ回数を制御したい場合は、通常、判定条件を変更することで実現できます。ループ条件が常に真であれば、無限ループになります。

入室

for-in ループは、オブジェクトまたは配列 (通常は for-of を使用した配列) をループするために使用できる特殊なループです。

o = {とする
  名前: 'dapiaoliang',
  年齢: 18歳
  性別: 「女性」
}

// オブジェクト内のすべてのキーと値のペアをループします。この時点で for-in を使用できます。
for (let key in o) {
  let text = `現在のプロパティ名: ${key}、値: ${o[key]}`
}

// 結果(このループの出力順序は異なる場合がありますが、数値は同じままです)
現在の属性名: name、値: dapiaoliang
現在の属性名: age、値: 18
現在の属性名: 性別、値: 女性

for-in はオブジェクト内のすべてのキーと値のペアをループするために使用されていることがわかります。具体的な出力順序は変わる可能性がありますが、各キーと値のペアは 1 回ループされます。

のための

for-of は、配列または配列のような構造をループするために特に使用されるループ コマンドです (Iterator インターフェイス)

arr = ["dapiaoliang", 18, '女性']とします

for (arrの値) {
  let text = `現在の値は: ${value}`
  console.log(テキスト)
}

// 結果の現在の値: dapiaoliang
現在の値は: 18
現在の価値: 女性

for-inと同様に、配列の各項目を直接ループすることができます。

その間

while は for のバリエーションです。 (あまり使われない)

while (条件) {
	ループ本体}

条件が真の場合、ループ本体が実行されます。このループにはカウント変数がないため、ステップ サイズを更新する必要はありません。したがって、条件は通常、可変パラメータである必要があります。可変パラメータでない場合は、ループ本体に明確な終了条件が必要です。

しながら行う

do-while は特別な while ループです (あまり使用されません)

する {
  ループ本体}while(条件)

現在の数は0です
現在の番号は1です
現在の数は2です
現在の数は4です

while条件とループ本体が入れ替わっているようです。そのため、このループ本体は、初回は条件判定を行わずに実行されます。実行が完了したら再度判定を行い、判定結果によって次回ループするかどうかが決まります。

したがって、do-while の条件は次回ループするかどうかを決定することであり、最初の 1 回目は必ず実行されるため、少なくとも 1 回は実行される while ループとして理解できます。

ループから抜け出す

何らかの理由でコード ブロック内のループから抜け出す必要がある場合は、対応するキーワードを使用できます。

break はこのループを永久に終了するために使用され、continue は現在のループを終了する(すぐに次のループに入る)ために使用されます。

例えば、skip i = 3

(i = 0; i < 5; i++ とします) {
  (i === 3)の場合{
    続く
  }
  let text = `現在の番号は ${i} です`
  console.log(テキスト)
}

上記の例では、i=3 のとき、ループ本体は true と判断され、continue が実行されます。その後、次の 2 行のコードは実行されず、すぐに次のループに入ります。

(i = 0; i < 5; i++ とします) {
  (i === 3)の場合{
    壊す
  }
  let text = `現在の番号は ${i} です`
  console.log(テキスト)
}

現在の数は0です
現在の番号は1です
現在の数は2です

このとき、break と判断され、i=3 のときに break が実行され、以降のループは実行されなくなります。 Break はループ全体を閉じます。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • JS ループで async と await を正しく使用する方法
  • JSにおける4つのデータ型判定方法
  • データ型の判断における js typeof と instanceof の違いと、その開発と使用について
  • JavaScript で判決文をエレガントに記述する例
  • JavaScript で文字列を数値に変換する方法
  • parseInt parseFloat js 文字列変換数値
  • JavaScript の一般的なステートメント ループ、判定、文字列から数値

<<:  黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

>>:  Web プロジェクトでの SQL インジェクションの防止

推薦する

JavaScript で外部変数にアクセスするサブ関数の 3 つのソリューション

序文Web ページを作成するときに、次のような状況に遭遇することはよくあります。 <本文>...

dockerでlnmp環境を構築する方法

プロジェクトディレクトリを作成する php ディレクトリをコピーする次のプロジェクト構造を作成します...

mysql8.0.0 winx64.zip 解凍バージョンのインストールと設定のチュートリアル

この記事はmysql8.0.0 winx64.zip解凍版のインストールチュートリアルを記録していま...

コマンドを使用してMySQLデータベース(de1)を作成する方法

1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

コードレイン効果を実現するjQueryプラグイン

この記事では、コードレイン特殊効果を実現するためのjQueryプラグインの具体的なコードを参考までに...

Jira リバース プロキシを実装するための nginx について

概要: nginx リバース プロキシ jira を構成し、https を実装します。Tomcat ...

Vuex データの永続性を実装するためのアイデアとコード

vuexとはvuex: vue.js専用に開発された状態管理ツールで、すべてのコンポーネントの状態を...

JSはキャンバス技術を使用してeChartsの棒グラフを模倣します

Canvas は HTML5 の新しいタグです。js を使用して Canvas 描画 API を操作...

キーフリーログインプロセスを実現するためのLinux構成の分析

1.sshコマンドLinux では、ssh コマンドを使用して別のサーバーにログインできます。 2 ...

MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...

MySQL 8.0 以降の一般的なコマンドの詳細な説明

リモートアクセスを有効にする次のコマンドを実行して、root ユーザーのリモート アクセス権を有効に...

Linux/CentOS システムでネットワーク時間を同期する 2 つの方法の詳細な説明

ハードウェア上の理由により、機械は標準時間にある程度追いつけない場合があり、その誤差は 1 か月で数...

react-color を使用してフロントエンドのカラーピッカーを実装する方法

背景次の図に示すように、 react-color を使用してフロントエンド インターフェースのカラー...

MySQL バックアップ スクリプトの書き方

序文:データベースのバックアップの重要性は、特にデータの損失が深刻な結果を招く可能性がある実稼働環境...

Docker コンテナのタイムゾーン エラーの問題

目次背景質問問題分析と解決策新たな問題問題分析と解決策背景node-schedule スケジュール ...