Javascript独学ノート(三)
2616 ワード
フロー制御文-プログラムは、上から下の順番で実行されます.フロー制御文によって、プログラムの実行順序を変更したり、あるセグメントのプログラムを繰り返し実行したりできます.分類:1.条件判定文2.条件分岐文3.循環文
条件判定文はif文です.プログラムに実行経路を選択させることができます.if文には3つの形式があります.文法1:if(条件式){文...}実行フロー:if文実行時は条件式を先に求めて判断します.もし値がtrueであれば、if後の文を実行します.値がfalseであれば、実行しません.
実行フロー:switch...case...文は実行時にcase後の表式の値とswitch後の表式の値を逐次比較します.比較結果がfalseであれば、下の比較を続けます.比較結果がtrueであれば、現在のcaseから下のコードを実行します.すべてのcaseがfalseであると判断した場合、defaultからコードを実行します.
条件判定文はif文です.プログラムに実行経路を選択させることができます.if文には3つの形式があります.文法1:if(条件式){文...}実行フロー:if文実行時は条件式を先に求めて判断します.もし値がtrueであれば、if後の文を実行します.値がfalseであれば、実行しません.
var a = 5, b = 3;
if(a>b){
alert('a b');
}
構文二:if(条件式){文...}else{文...}実行フロー:if...else文実行時に条件式を求めて判断します.もし値がtrueであれば、if後の文を実行します.値がfalseであれば、else後の文を実行します.var a = 5, b = 3;
if(a>b){
alert('a b');
}else{
alert('a b');
}
文法3:if(条件式){文...}else if(条件式){文...}-実行フロー-if...else if...else文は、上から下へと条件式を逐次判定しますが、判定結果がtrueであれば、前if以降の文を実行し、完了後の文を実行します.判断結果がfalseであれば、trueであることが判明するまで下の判定を続けます.すべての条件式がfalseであれば、else後の文を実行します.var a = 5, b = 3;
if(a>b){
alert('a b');
}else if(a=b){
alert('a b');
}else{
alert('a b');
}
switch文文法:switch(条件式){case式:文…break;case式:文…break;case式式:文…break;case式:文…break;default:文…break;}実行フロー:switch...case...文は実行時にcase後の表式の値とswitch後の表式の値を逐次比較します.比較結果がfalseであれば、下の比較を続けます.比較結果がtrueであれば、現在のcaseから下のコードを実行します.すべてのcaseがfalseであると判断した場合、defaultからコードを実行します.
// , , 。
var a = 'abc';
switch(typeof a){
case 'number' :
return a.toString();
break;
case 'string':
return '"' + a + '"';
break;
default:
return String(a);
}
循環文-循環文によって、いくつかの語句が繰り返し実行されます.何度も-while循環-文法:while(条件式){文...--実行フロー:while文は実行時に条件式を求めて判断します.判断結果がfalseであれば、ループを終了します.判断結果がtrueであれば、循環体を実行します.循環体の実行が完了し、条件式の評価を継続します.これに類推します.ex:
var a = 0;
while (a<5) {
console.log(a); //0~4
a++;
}
ド…whileサイクル-文法:do{文...}while(条件式)-実行フロード...whileは実行時に、先にdo後の循環体を実行し、条件式を判断し、判断結果がfalseであればループを終了します.判定結果がtrueであれば、循環体を継続して実行します.これに類推します. var a = 10;
do{
console.log(a); //10
}while (a>20) {
a++;
}
ド…whileとwhileの違い:while:先に判断してからdo…whileを実行します.先に実行してから判断します.whileは循環体が少なくとも一回実行することを確保できます.for循環-文法:for(初期化式;条件式;更新式){文...}実行フロー:まず初期化式を行い、変数を初期化し、条件式を求めて判断し、falseであればループを終了します.判定結果がtrueであれば、循環体循環体の実行が完了し、更新式を実行します.変数を更新します.式を更新して繰り返します.ex:
// for 100 7 。
for(var i =0; i<100; i++) {
if(i%7==0){
console.log(i);
}
}
追加:for…inサイクルfor…inサイクルは、エニュメレート・オブジェクトを巡回するのに便利な属性メンバーです.ex:
var Obj = {
x : 1,
y : 2,
'name' : 'BanesLi',
'age' : 26
}
for(o in Obj) {
console.log(Obj[o]); // 1,2,BanesLi,26
}