2012年11月18日日曜日

JavaScirptの繰り返し、条件分岐

for文とその中で用いられるであろう比較演算子もC言語と同じ。変数変更のためのインクリメント(i++)、デクリメント(i--)は用意されている。while文、switch~case文、break、continueもC言語と同じように使える。

条件分岐はif~else、if~else if~elseで実現する。C言語と同じと思ってよい。

論理演算子もC言語と同じく、&&(and)、||(or)、!(not)を利用することができる。

<SCRIPT language="JavaScript">
<!--
function mysum(from, to){
  var sum = 0;
  /*
    fromから始めてtoまでの整数の総和を計算する。
    to以下というのは比較演算子で実現する。
  */
  for( i=from ; i<=to ; i++ ){
    sum += i;
  }
  alert("合計 = " + sum);
}

/*
  入力された月の値に応じて季節を表示するというもの。
*/
function alert_season(){
  var mnt;
  mnt = prompt("1から12の整数を入力して下さい", "");
  var month = parseInt(mnt); // 整数として解釈させる
  switch(month){
    case 1:
    case 2:
    case 3:
      alert("春");
      break;
    case 4:
    case 5:
    case 6:
      alert("夏");
      break;
    case 7:
    case 8:
    case 9:
      alert("秋");
      break;
    case 10:
    case 11:
    case 12:
      alert("冬");
      break;
    default:
      alert("1~12の月が指定されていません。");
      break;
  }
}

/* 
  ナベアツがnum回アホになるときまでに数えた数を返す(ネタが古い!?)。
  indexOfは引数となる文字列が(""+i)という文字列にあれば、
  0以上の値(正確には位置を表す添字)が返されるようになっている。
  Javaと同じですね。
*/
function nabeatu(num){
  var i = 1;
  var counter = 0;
  while( true ){
    if( i % 3 == 0 || (""+i).indexOf("3") >= 0){ // or演算子の利用
      counter++;
    }
    if( counter >= num ){
      break;
    }
    i++;
  }
  alert(num + "回アホになるのに" + i + "まで数えました");
}

//-->
</SCRIPT>

0 件のコメント:

コメントを投稿

フォロワー

ページビューの合計