반응형
  • 내장 객체와는 다르게 생성자를 통한 인스턴트화가 필요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);
반응형

+ Recent posts