javascriptの中でbreak、continue、関数は重載できません.
4748 ワード
javascriptの中で、breakとcontinueは著しい違いがあります.
もしbreak文に出会ったら、一番内側の循環が終わります.あとどれぐらいの計算がありますか?
continueに出会うと、このサイクルは終了します.後のサイクルはまだ実行されます.
continueに換えるとnum=3*3-3*1=24です.
ラベルに変えたらどうなりますか?状況コード:
continueであれば、一番外側のサイクルだけを保持して、内側のサイクルは実行されません.だからnum=3*4=12です.
(二)
オブジェクト指向の言語では、関数のパラメータの種類とパラメータの数によって関数を再ロードできます.しかし、Javascriptには機能的に重ロードされていないという説があります.
二つのjavascript関数を定義すれば、解像器は一番下に書いたその関数を解析するだけです.
変な感じがするかもしれません.二つのパラメータが入ってきました.呼出しは一つのパラメータの関数だけです.どうして間違えないですか?
これはJavascriptにおいて、解析器は、伝えられたパラメータの個数やタイプに関係なく、どれだけ多くの量を調整しているからです.
すべてのパラメータは実は一つに置いてあります. argmentsの中の、これは1つの配列と似ていて、異なったタイプのデータを記憶することができて、下のコードを見ます.
(三)
について
下を見てください
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を返します.
もし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=21continueに換えると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を返します.