前に書いてください
この章では、ECMAScriptのスイッチ、フォーイン、ラベルなど、それらの理解と理解を深めるためのいくつかの重要なステートメントについて説明します。最も一般的なものから始めましょう。
while and for
一方、JavaScript、C、またはその他のプログラミング言語であろうと、非常に一般的なステートメントです。さらに、プログラミングでは、より一般的に使用するために使用します。これはより柔軟で使用がより簡単です。
なぜなら、そうではなく、いくつかのことをすることができるからです。
実際、ステートメントの構文アプリケーションについて考えると、次のものが見つかります。
ループを実行できないループの場合も、実行することはできません。
これは、forループがwhileループに関連するコードをまとめるだけだからです。実際、loopを使用するよりも、時間のループを使用する方が簡単な場合があります。これは、それぞれが独自の義務を果たし、長所と短所を持っているためです。
ループに関する別のポイント、まずコードを見てみましょう。
for(i = 0; i <5; i ++){console.log(i);} console.log(i);ループの外でiを印刷すると、印刷物は5です。
ご覧のとおり、ループ内で定義されている変数には外部からアクセスできます。 Cなどの一部の言語では、ブレースはブロックレベルの範囲を定義しますが、ECMAScriptにはブロックレベルの範囲の概念はないため、ループ内で定義されている変数も外部からアクセスできます。
スイッチステートメント
Cなどの他のプログラミング言語では、スイッチステートメントは数値のみを使用できますが、ECMAScriptでは、Switchステートメントは文字列やオブジェクトなどのデータタイプを使用できます。
説明する必要があるポイントは次のとおりです。スイッチステートメントを比較するときに使用される合同演算子、つまり===、 '10'と10は等しくありません。合同比較を比較するときにタイプ変換が発生しないためです。
for-inステートメント
for-inステートメントは、オブジェクトのプロパティを反復するために使用できる正確な反復ステートメントであり、もちろん配列のプロパティを反復することもできます。以下は例です。
for-in-intraversalオブジェクト
•ウィンドウ
最初に特別なオブジェクトウィンドウを繰り返します:
for(window in windo){console.log(i);}属性の非常に長いリストが印刷され、自分でそれをチェックすることができます。ここには一つずつリストしません。
•カスタムオブジェクト
カスタムオブジェクトを繰り返します
var o = {prop1: 'value1'、prop2: 'value2'、prop3: 'value3'};prop1 prop2 prop3を印刷します。
•配列
配列を繰り返します
var array1 = [1,2,3,4];
印刷1 2 3 4。
声明で
withステートメントは、スコープを制限するために使用できます。つまり、コードの範囲を特定のオブジェクトに設定できます。次のように:
var hostname = location.hostname; var url = location.href;
これらの2つの文は、それぞれホスト名とURLを取得します。位置(同じオブジェクトの下のプロパティ)を共有するため、スコープを場所に制限できます。つまり、withステートメントを使用して位置オブジェクトを関連付けます。次のように:
with(location){var hostname = hostname; var url = href;}Strictモードでステートメントを使用すると、構文エラーが発生することに注意してください。同時に、大量のステートメントを使用すると、パフォーマンスの劣化につながり、デバッグに特定の困難をもたらします。したがって、特に大規模なアプリケーションを開発する場合、アプリケーションを開発する場合、ステートメントで使用することはお勧めしません。
ラベルステートメント
ラベルステートメントは、後で使用できるようにコードのラベルを付けるために使用されます。一般的に、ラベルのあるステートメントは、ループなどのループステートメントと組み合わせて使用する必要があります。
その構文は次のとおりです。
ラベル:ステートメント
以下は、ラベルの使用方法を確認するための詳細なコードです。
1。最初に基本コードを指定します。
var num = 0; for(var i = 0; i <10; i ++){for(var j = 0; j <10; j ++){if(i == 5 && j == 5){break; } num ++; }} console.log(num);説明:内部のループのためにブレークジャンプを出す、j、残りの5つのループは実行されなくなるため、印刷の結果は95です。
2。次に、ブレークを変更して続行します。
var num = 0; for(var i = 0; i <10; i ++){for(var j = 0; j <10; j ++){if(i == 5 && j == 5){break; } num ++; }} console.log(num);注:このループから飛び出し続けます。つまり、内部のループが飛び出したこのループから飛び出したため、印刷の結果は99でした。
3。次に、外側という名前のラベルを追加し、印刷結果を調べます。
var num = 0; outer:for(var i = 0; i <10; i ++){for(var j = 0; j <10; j ++){if(i == 5 && j == 5){Break Outer; } num ++; }} console.log(num);注:タグを追加した後、ブレークを使用してタグの外側にジャンプします。つまり、プログラムは外側のループからジャンプします。つまり、プログラムがi = 5とj = 5を実行するとプログラムが実行を停止するため、印刷結果は55です。
4.変更して継続して確認しましょう。
var num = 0; outer:for(var i = 0; i <10; i ++){for(var j = 0; j <10; j ++){if(i == 5 && j == 5){継続外; } num ++; }} console.log(num);注:今回は継続するため、プログラムがi = 5とj = 5に実行されると、外側のループからジャンプしませんが、内側ループからジャンプするだけです。つまり、残りの5回は実行されないため、印刷結果は95です。
これらをまとめると、少し混乱しているように思えますが、もっと理解する方がはるかに良いでしょう。
まとめ
私たちは学習のためではなく、それを使用する目的で何かを学びます。率直に言って、私たちは仕事のためにそれを学びます。したがって、上記を単に理解することは、覚えておくためではなく、それを使用するために、最も重要なことではありません。実際に熟練して使用できることは、私たちが望んでいることです。同時に、メモを取ることは良い習慣です。良い記憶は悪いペンほど良くありません。あなたがそれをしているなら、私はあなたがそれに固執することができることを願っています。
ECMAScriptの詳細な理解のための上記の重要な文は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。