블로그 보관함

2014년 3월 10일 월요일

JavaScript 18 생성자 함수의 이용

함수들의 속성과 내장 함수들을 하나로 통합하여 하나의 객체처럼 사용 할 수 있도록 만들어 준 코드



html

<script>
"use strict";
// 3 * 2 + 7 - 5 = ?
// 5 - 4 * 2 / 9 = ?
var calc1 = new Calculator();
var calc2 = new Calculator();
calc1.init(3);
calc2.init(5);
calc1.multiple(2);
calc2.minus(4);
calc1.plus(7);
calc2.multiple(2);
calc1.minus(5);
calc2.divide(9);
calc1.printResult();
calc2.printResult();

/* var number, op;
number = prompt('input number');
init(number);
op = prompt('input operand');
switch(op){
case +:
plus()
}
printResult(); */
</script>



js

function Calculator() {
this.sum = 0;
this.str = '';
this.plus = function(value) {
this.sum += value;
this.str += ' + ' + String(value);
};
this.minus = function(value) {
this.sum -= value;
this.str += ' - ' + String(value);
};
this.multiple = function(value) {
this.sum *= value;
this.str += ' * ' + String(value);
};
this.divide = function(value) {
this.sum /= value;
this.str += ' / ' + String(value);
};
this.init = function(value) {
if (arguments.length == 0) {
this.sum = 0;
this.str = '';
} else {
this.sum = value;
this.str += String(value);
}
};
this.printResult = function() {
console.log(this.str, '=', this.sum);
};
}

댓글 없음:

댓글 쓰기