ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptの処理文の詳細説明

JavaScriptの処理文の詳細説明

青灯夜游
青灯夜游転載
2018-10-12 15:45:542451ブラウズ

この記事では、JavaScript のプロセス ステートメントについて詳しく説明します。必要な方は参考にしていただければ幸いです。

冒頭の章の概要

この講義では、主に JavaScript の処理ステートメントについて説明します。その一般的な内容は次のとおりです。

その中で、よく使用されるものについて説明します。 if、while、do ..while、for については、この記事では説明しません。焦点は、for..in..、label、break と continue、whth、switch およびその他のステートメントです。

#二コンテンツエリア

(1) よく使用されるステートメント

次のステートメントは次のとおりです。比較的一般的なので、この記事では説明しません

1. 条件文

if 文

2. ループ 文

while 文、do.while 文、for ステートメント

(2) for..in.. ステートメント

1. 定義

for...in... は、オブジェクト属性を列挙するために使用される反復ステートメント。その構文は次のように定義されます。

for (propName in expression) statement
JavaScript 開発における「ローカル変数を使用できる場合は、グローバル変数を使用しない」という原則に基づいて、次のように定義することをお勧めします。次のように、propName 属性をローカル変数として使用します:

for (var propName in expression) statement
2. Notes

(1)for....in は、オブジェクト プロパティ値を列挙するためではなく、オブジェクト プロパティを列挙するために使用されます。

例 1:

次の例では、for..in.. は配列インデックス値ではなく、配列インデックス (つまり、配列属性) を出力します。

var i = 5;
    var arr = new Array();

    for (var n = 0; n < i; n++) {
        arr[n] = i;
    }

    for (var propName in arr) {
        alert(propName);// 0,1,2,3,4
    }
例 2:

次の例では、for..in.. はオブジェクト userInfo の属性 (名前、年齢、住所) を出力しますが、属性値は出力しません ( Alan_beijing,38,china -shanghai)

var userInfo = { name: &#39;Alan_beijing&#39;, age: 38, address: &#39;china-shanghai&#39; };
for (var property in userInfo) {
alert(property);//name,age,address5     
}

(2)列挙型プロパティには明確な順序はなく、ブラウザによって違いがあります。

(3) ECMAScript5 バージョンより前では、反復オブジェクト変数の値が null または未定義の場合、for ステートメントはエラーをスローします。ECMAScript5 以降では、この状況はエラーをスローしませんが、ループ本体はスローします。実行されません。

(3) label

1. 定義

JavaScript では、label ステートメントはラベルステートメントを表し、通常はループステートメントとともに使用されます。ループステートメントを表します。指定された位置にジャンプします。

1 label:statement
例 1:

次のコードには、最も外側にラベル ステートメントが含まれており、その内容は 2 つのネストされたループ本体であり、ループ本体が 1==5 および j==5 まで実行されると、 Break ステートメントは最も外側のステートメントにジャンプして実行を継続します。

var num = 0;
    outermost:
    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            if (i == 5 && j == 5) {
                break outermost;
            }
            num++
        }
    }
    alert(num);//55

(4) Break と continue

1. 定義

break と continue は両方ともループ本体で表現され、以下に従ってループを終了します。特定の条件本体と同じですが、break はループ本体全体を終了することを意味し、Continue は条件を満たすループ本体を終了することを意味します。

例 1:

次のコードは、i=5 が実行されるとループ全体を終了します。

var num = 1;
    for (var i = 1; i < 10; i++) {
        if (i % 5 == 0) {
            break;
        }
        num++;
    }
    alert(num);//5

例 2:

次のコードは、i=5 を実行すると、このループを終了し、for ステートメントの先頭に戻って実行を継続します。

var num = 1;
    for (var i = 1; i < 10; i++) {
        if (i % 5 == 0) {
            continue;
        }
        num++;
    }
    alert(num);//9

2. 注意事項

(1) Break and continueでループ本体から飛び出すと、直前のループ本体だけが飛び出すことになり、直接ループ本体以外のループ本体は飛び出さないことになります。ループ本体。

#例 1:

次の例では、break は直接ループ本体からのみジャンプします

##例 2:

次の例では、 continue は直接ループ body

var num = 0;
    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            if (i == 5 && j == 5) {
                continue;
            }
            num++
        }
    }
    alert(num);//99

2.break からのみジャンプします。break と continue は通常、指定された場所へのジャンプを示すために label ステートメントと組み合わせて使用​​されます

例:

以下のコードを実行すると、 i=5 && j==5 のとき、一番外側のラベル文にジャンプして実行を継続します。ここで、JavaScript にはブロックレベルのスコープがないため、変数 i は for ステートメントの外側でアクセスできることに注意してください。

var num = 0;
    outermost:
    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            if (i == 5 && j == 5) {
                break outermost;
            }
            num++
        }
    }

    alert(num);//55

(5) with

1. 定義 with ステートメントは、コードのスコープを特定のオブジェクトに設定します。その主な目的は、同じオブジェクトの複数回の記述を簡素化し、再利用性を向上させることです。

1 with (expression) statement

例:

次のコードは、ユーザー情報を取得する関数を定義し、関数本体に新しい person オブジェクトを作成し、2 つの属性 (名前とアドレス) を定義して、立ち上がった人物オブジェクト。

function GetUserInfo() {
        var person = new Object();
        person.name = "Alan_beijing";
        person.address = "China-shanghai";
        with (person) {
            return name +","+ address;
        }
    }
    alert(GetUserInfo());//Alan_beijing,China-shanghai

2. 注意事項

(1) JavaScript 開発では with ステートメントの使用には注意してください。主な理由は 2 つあります。1 つは、with ステートメントがパフォーマンスに影響を与えることです。 with 文は厳密に使用する必要があります。モードではエラーが発生します。

(2)with 文はパブリック オブジェクトを囲むため、コードの簡素化とコードの再利用性が向上します。

(3)変数を検索する場合with ステートメントの本体で、まず探している変数が with の本体に存在するかどうかを確認します。存在しない場合は、次に with で囲まれた変数に探している属性があるかどうかを確認します。

次の例は、この原則をよりよく反映しています:

function GetUserInfo() {
        var person = new Object();
        person.name = "Alan_beijing";
        person.address = "China-shanghai";
        person.age = 35;
        with (person) {
            var sex = "男";
            var age = 40;
            return name + "," + sex + "," + age +","+ address;
        }
    }
    alert(GetUserInfo());//Alan_beijing,男,40,China-shanghai

(6) switch

1. switch ステートメントを定義します。これは通常 switch ステートメントと呼ばれるもので、複数条件の状況に非常に適しています。

switch (expression) {
        case value: statement
            break;
        case value: statement
            break;
        default:statement
    }

例:

如下代码,根据城市名称,查询城市类别

//根据不同城市,判断其属于几线城市
    function CityType(address) {
        switch (address) {
            case "Shanghai": alert("中国一线城市");
                break;
            case "Shenzhen": alert("中国一线城市");
                break;
            case "Beijing": alert("中国一线城市");
                break;
            default: alert("中国非一线城市");
        }
    }

    CityType("Shenzhen");//中国一线城市

2 注意点

(1)switch本质与if是一样的,都是解决多条件多分支问题;

(2)使用switch语句的真正目的是避免使用过多的if..else if ...else....语句;

 三  总结

本篇文章主要结合代码介绍了JavaScript的流程语句及其使用,重点结束了with,switch,for...in..,label,break和continue等语句,需要注意的是,在JavaScript中,流程语句都没有块级作用域,至于什么是块级作用域,将在接下来的文章中与大家分享。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问JavaScript视频教程

相关推荐:

JavaScript图文教程

JavaScript在线手册

以上がJavaScriptの処理文の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。