일반적인 프로그래밍 언어 (c, python, java 등) 에서 사용하는 조건 및 제어문에 관해서 자바스크립트로 구현.
if(){}else{} 문
while() 문
for() 문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | // 절대값 함수 구현 function abs(x){ if(x >= 0){ return x; } else{ return -x; } } abs(5); >> 5 abs(-5); >> 5 //== // 팩토리얼 함수 구현(while) : n! function factorial(n){ var product = 1; while(n > 1){ product *= n; n--; } return product; } factorial(10); >> 3628800 // == // 팩토리얼 함수 구현(for) : n! function factorialUseFor(n){ var product = 1; for( i = 2; i <= n; i++ ){ product *= i; } return product; } factorialUseFor(10); >> 3628800 | cs |
자바스크립트는 객체지향언어이지만, 우리가 생각하는 자바 언어와 같은 객체지향과는 다르다. 클래스를 정의하는 것에 있어서 아래를 살펴보자. 자바와 동일하게 객체를 생성할 때는 new 키워드와 함께 생성자 함수라는 것을 이용한다.
생성자 함수는 말 그대로 객체를 생성하기 위한 함수인 것이다. 해당 프로퍼티를 생성자 함수 내부에서 구현하고 해당 객체는 생성자 함수내에 구현된 내용에 따라 객체를 생성하고 메모리를 할당받는 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function Point(x, y){ this.x = x; this.y = y; } // 객체 생성, // 객체를 생성하기 위해 생성자 함수를 이용 var p = new Point(1, 1); p; >> Point {x: 1, y: 1} // 생성자 함수 Point의 prototype객체에 함수를 Point.prototype.r = function(){ return Math.sqrt( this.x * this.x + this.y * this.y ); } p.r(); >> 1.4142135623730951 | cs |
'javascript' 카테고리의 다른 글
20180605 node.js & npm 개념 정립 및 설치 (0) | 2018.06.05 |
---|---|
20180420 CORS (수정 : 20191104) (0) | 2018.04.20 |
20180407 자바스크립트 연산 및 함수 (0) | 2018.04.07 |
20180407 자바스크립트 변수 및 객체 알아보기. (0) | 2018.04.07 |
20180330 form 태그를 통한 ajax 방식 (0) | 2018.03.30 |