JavaScript第一回目宿題解答(加藤)

四則演算の結果を表示するJavaScriptを作成せよ。
その際、自分でオブジェクトを作成し、それぞれの演算を行うメソッドを追加して、それらを使用することによって演算結果が反映させるようにせよ。
また、引数は2つでも3つでも4つでも演算可能にせよ。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>四則演算</title>
<script language="JavaScript" type="text/javascript">
// keisanオブジェクト用のメソッド
<!--
function add() {
var result=this.Num1;
if (this.Num2 != null) result+=this.Num2;
if (this.Num3 != null) result+=this.Num3;
if (this.Num4 != null) result+=this.Num4;
return result;
}

function sum() {
var result=this.Num1;
if (this.Num2 != null) result-=this.Num2;
if (this.Num3 != null) result-=this.Num3;
if (this.Num4 != null) result-=this.Num4;
return result;
}

function mult() {
var result=this.Num1;
if (this.Num2 != null) result*=this.Num2;
if (this.Num3 != null) result*=this.Num3;
if (this.Num4 != null) result*=this.Num4;
return result;
}

function div() {
var result=this.Num1;
if (this.Num2 != null) result/=this.Num2;
if (this.Num3 != null) result/=this.Num3;
if (this.Num4 != null) result/=this.Num4;
return result;
}

// keisanオブジェクトのコンストラクタ
function keisan(Num1,Num2,Num3,Num4) {
if (Num1 != null) this.Num1 = Num1;
else document.write("error");
if (Num2 != null) this.Num2 = Num2;
if (Num3 != null) this.Num3 = Num3;
if (Num4 != null) this.Num4 = Num4;

// それぞれの演算メソッドを追加する
this.add = add;
this.sum = sum;
this.mult = mult;
this.div = div;
}
//-->
</script>

</head>
<body bgcolor="#ffffff">

<script language="JavaScript" type="text/javascript">
<!--
// 計算を管理する配列
var enzan = new Array(3);

// 3つの数値を登録
enzan[0] = new keisan(321,53);
enzan[1] = new keisan(22,2002,324);
enzan[2] = new keisan(234, 324, 34, 76);

// 四則演算結果を表示
for (var i = 0; i < enzan.length; i++){
document.write("加算の結果は:",enzan[i].add(),"<br>");
document.write("減算の結果は:",enzan[i].sum(),"<br>");
document.write("乗算の結果は:",enzan[i].mult(),"<br>");
document.write("除算の結果は:",enzan[i].div(),"<br>");
document.write("<hr>");
}
//-->
</script>

</body>
</html>