javascriptの中でbreak、continue、関数は重載できません.

4748 ワード

javascriptの中で、breakとcontinueは著しい違いがあります. 
もしbreak文に出会ったら、一番内側の循環が終わります.あとどれぐらいの計算がありますか?
continueに出会うと、このサイクルは終了します.後のサイクルはまだ実行されます.
        var num = 0;

        for (var k = 0; k < 3; k++) {

            for (var i = 0; i < 3; i++) {

                for (var j = 0; j < 3; j++) {

                    if (i === 1 && j === 1) {

                        break;

                    }

                    num++;

                }

            }

        }

        console.log(num);
この時num=3*3-3*2=21
continueに換えるとnum=3*3-3*1=24です.
 
ラベルに変えたらどうなりますか?状況コード:
var num = 0;

        comeouter:

        for (var k = 0; k < 3; k++) {

            for (var i = 0; i < 3; i++) {

                for (var j = 0; j < 3; j++) {

                    if (i === 1 && j === 1) {

                        break comeouter;

                    }

                    num++;

                }

            }

        }

        console.log(num);
breakなので、i==1&j==1となると、すぐに全部のサイクルを終了するので、num=4;
continueであれば、一番外側のサイクルだけを保持して、内側のサイクルは実行されません.だからnum=3*4=12です.
 
(二)
オブジェクト指向の言語では、関数のパラメータの種類とパラメータの数によって関数を再ロードできます.しかし、Javascriptには機能的に重ロードされていないという説があります.
二つのjavascript関数を定義すれば、解像器は一番下に書いたその関数を解析するだけです.
        function testA(num1, num2) {

            console.log(num1+'-'+num2);

        };

        

        function testA(num1) {

            console.log(num1);

        };



        testA(15, 18);
運転の結果は15です.
変な感じがするかもしれません.二つのパラメータが入ってきました.呼出しは一つのパラメータの関数だけです.どうして間違えないですか?
これはJavascriptにおいて、解析器は、伝えられたパラメータの個数やタイプに関係なく、どれだけ多くの量を調整しているからです.
すべてのパラメータは実は一つに置いてあります. argmentsの中の、これは1つの配列と似ていて、異なったタイプのデータを記憶することができて、下のコードを見ます. 
     function testA() {

            console.log(arguments[0]+'--'+arguments[1]);

        };



        testA(15, 18);
出力結果は15-18です.
 
(三)
について
下を見てください
consolie.log(true==1)  アウトプットtrue
consolie.log(true==1)出力false
(四)
任意のNaNと動作し、出力の結果はNanであり、例えばNaN+1である.
ここで面白いのはNaN=NaNです. 出力false、
但しnull==null  true
null==undefined tureは、実質的にundefinedはnullのサブクラスです.
null値は、実際には空のオブジェクトポインタです.したがって、typeof nullは、Objectを返します.