반응형
- 내장 객체와는 다르게 생성자를 통한 인스턴트화가 필요X
- 공유 객체 자체에서 메소드와 프로퍼티에 접근 가능
[광고 누르면 오늘의 행운 상승!!]
Math 객체 프로퍼티
- 로그와 원주율, 대표적인 루트값 제공
Math.E | 자연로그의 밑 e값 | Math.E | 자연로그의 밑 e값 |
Math.LN2 | 2의 자연로그 값 | Math.LN10 | 10의자연로그값 |
Math.LOG2E | log2e의 값 | Math.LOG0E | log10e의값 |
Math.LOG10E | log10e의 값 | Math.PI | 원주율파이의값 |
Math.SQRT1_2 | 1/2의 루트값 | Math.SQRT2 | 루트2의값 |
- 게임이나 시뮬레이션 등의 처리를 위해 자주 사용
Math 객체 메소드
- 일반적인 프로그래밍에서도 수의 반올림이나 버림, 수의 비교, 난수 생성 등이 자주 사용됨
삼각함수
Math.sin(x),Math.cos(x), Math.tan(x), Math.asin(x),
Math.acos(x), Math.atan(x),Math.atna2(py,px)
- sin 30도의 값을 구하고 싶다면?
radians = degrees * (pi/180)
degrees = radians * (180/pi)
var sin30 = Math.sin(toRadian(30));
var sin30 = sin30.toFixed(1); // 소수점 이하 한자리만 보이게 한다
document.writeln("<p>" + sin30 + "</p>");
function toRadian(deg){ //각도를 레디안 값으로 변환
return deg *(Math.PI/180);
}
-결과 0.5
반올림
→ Math.round(x) : 메소드 인자 값의 소숫점 이하 자리의 반올림 값을 반환
var n1 = 123.456;
var n2 = 345.678;
document.writeln("<p> 123.456의 반올림값은" + Math.round(n1) + "입니다.</p>");
document.writeln("<p> 345.678의 반올림값은" + Math.round(n2) + "입니다.</p>");
-출력
123.456의 반올림값은 124 입니다.
345.678의 반올림값은 345 입니다.
절대값과 멱승
→ Math.abs(x) : 절대값 반환(절대값은 항상 양수를 만듦)
→ Math.pow(x,y) : 주어진 수의 승을 구함 (x의 y승을 의미)
→ (반지름² x Math.PI) : 원의 면적을 구하는 공식
function circelArea(radius){
var area = Math.pow(radius,2) * Math.PI;
return Math.round(area);
}
var r = 123;
var result = circelArea(r);
document.writeln("<p> 반지름이 " + r + "cm인 원의 넓이는"
+ result + "cm<sup>2</sup>입니다.</p>");
-출력
반지름이 123cm인 원의 넓이는 47529cm² 입니다.
최대값과 최소값
→ Math.min()과 Math.max() : 두 개 이상의 숫자를 비교하여 최소값과 최대값 반환
var n1 = 123.456;
var n2 = 345.678;
var n3 = 567.891;
var smaller = Math.min(n1,n2,n3);
var bigger = Math.max(n1,n2,n3);
document.writeln("<p>" + smaller + "</p>");
document.writeln("<p>" + bigger + "</p>");
-출력
123.456
567.891
난수 발생
→ 난수 : 무작위 숫자, Math.random() 메소드 사용
var randomNum = Math.random();
0~1사이의 값을 무작위로 생성
var randomNum = Math.floor(Math.random() * 21);
//Math.floor 정수로 만든다.
document.writeln(randomNum);
0~20까지의 숫자가 나온다.
1에서 6까지의 숫자 중에 하나의 숫자를 발생해야 할 경우에는?
(Math.random() * (최대수 + 1 - 최소수)) + 최소수
-> (Math.random() * (6 + 1 -1)) + 1;
-> (Math.random() * 6) + 1;
var randomNum = Math.floor(Math.random() * 6) + 1;
document.writeln(randomNum);
반응형
'5. 웹 프로그래밍 > 3. JavaScript' 카테고리의 다른 글
윈도우의 크기와 위치 정보 [window][생성 및 삭제][JavaScript] (0) | 2020.03.17 |
---|---|
문서객체모델 DOM [JavaScript] (0) | 2020.03.17 |
Date 객체/정규 표현식 [시간][JavaScript] (0) | 2020.03.15 |
String 메소드 [문자열][Javascript] (0) | 2020.03.15 |
Number 메소드 [Method][JavaScript] (0) | 2020.03.15 |