オンラインテキスト目次
Javascript入門目次

複合条件文

目次
比較演算子
論理演算子
日付から休日や季節を判断する
複合条件文の演習
目次

比較演算子

if文などに表れる条件式で使われる比較演算子には次のものがある。 左辺の式と右辺の式の値を比較して、trueまたはfalseを返す:

比較演算子意味
== 左辺と右辺が等しい
!= 式が等しくない
> 左辺が大きい
>= 左辺が大きいか等しい
< 右辺が大きい
<= 右辺が大きいか等しい

目次

論理演算子

複数の条件式(truefalseの値を取る)を組み合わせて、1つの論理式を組み立てるために、次のような論理演算子を使う: 論理演算子を複数使った論理式では、式をカッコ () で囲んで意味をはっきりさせること。

論理演算子意味 備考
&& 左右の条件式の論理積を返す 両方がtrueの場合にのみtrue
|| 左右の条件式の論理和を返す 一方または両方がtrueの場合にtrue
! 条件式の値の否定を返す trueならfalsefalseならtrue

たとえば、論理演算子を変数x, yに対して次のように使う:

[x = 10; y = 3; と代入されいる場合]
論理式 論値値
2 < x && x < 13 true
x > 4 && y < 5 true
x < 1 || 5 < x true
!(x > 3) false
(x > 5 && y < 2) || x == 10 true
x == 3 || y > 10 || x < y false

目次

日付から休日や季節を判断する

便宜的に、日付を次のようにグループにして、季節や休日を次のように考えよう:

グループ名メンバ
3月、4月、5月
6月、7月、8月
9月、10月、11月
12月、1月、2月
平日月曜〜金曜
休日土曜、日曜

Dateオブジェクトを使った次のスクリプトを利用して、季節や平日・休日を判断するとを考えよう。 getMonth()getDay()メソッドが返す値には表のような換算が必要であることは既に説明した。

<script type="text/javascript">
<!--
var today = new Date();
var year = today.getYear();
var month = today.getMonth();
var date = today.getDate();
var day = today.getDay();
....
</script>
getMonth() 実際の月 getDay() 実際の曜日
0 1月 0 月曜
1 2月 1 火曜
2 3月 2 水曜
3 4月 3 木曜
4 5月 4 金曜
5 6月 5 土曜
6 7月 6 日曜
7 8月
8 9月
9 10月
10 11月
11 12月

たとえば、if文を使って、平日・休日を表示するスクリプトの一部は次のように書けばよい: switch文を使った場合、break;を効果的に利用していることに注意せよ。

if文を使った場合switch文を使った場合
<script type="text/javascript">
<!--
var today = new Date();
var year = today.getYear();
var num_month = today.getMonth();
var month;
var date = today.getDate();
var num_day = today.getDay();
var day;
....
....
if (0 <= num_day && num_day <= 4)
	document.write("今日は平日だ", "<br>")
else if (5 <= num_day && num_day <= 6)
	document.write("今は休日だ", "<br>");
....
....
// -->
</script>
<script type="text/javascript">
<!--
var today = new Date();
var year = today.getYear();
var num_month = today.getMonth();
var month;
var date = today.getDate();
var num_day = today.getDay();
var day;
....
....
switch (num_day) {
case 0:
case 1:
case 2:
case 3:
case 4:
    document.write("今日は平日だ", "<br>");
    break;
case 5:
case 6:
    document.write("今は休日だ", "<br>");
}
....
....
// -->
</script>

目次

複合条件文の演習

  1. if文を使って、日付情報を表示し、しかも本日の平日/休日および季節を表示するJavascriptを含むHTMLファイル date03.html を書け。
  2. Switch文を使って、日付情報を表示し、しかも本日の平日/休日および季節を表示するJavascriptを含むHTMLファイル date04.html を書け。

目次
Javascript入門目次
オンラインテキスト目次
mizutani@rsch.tuis.ac.jp