JavaScripts 수학 객체 익히기: 내장 수학 함수 및 속성에 대한 종합 가이드
JavaScript 수학 객체: 개요
JavaScript Math 개체는 수학 함수 및 상수 모음을 제공하는 내장 개체입니다. 생성자가 아니므로 인스턴스를 만들 수 없습니다. 대신 정적 메서드와 속성을 통해 직접 사용됩니다.
1. 상수
Math 개체에는 수학적 계산에 유용한 여러 상수가 포함되어 있습니다.
- Math.E: 자연 로그의 밑, 대략 2.718과 같습니다.
- Math.LN2: 2의 자연 로그로, 대략 0.693과 같습니다.
- Math.LN10: 10의 자연 로그로, 대략 2.303과 같습니다.
- Math.LOG2E: E의 밑이 2인 로그로, 대략 1.442와 같습니다.
- Math.LOG10E: E의 밑이 10인 로그로, 대략 0.434와 같습니다.
- Math.PI: 원주와 지름의 비율은 대략 3.14159와 같습니다.
- Math.SQRT1_2: 1/2의 제곱근, 대략 0.707과 같습니다.
- Math.SQRT2: 2의 제곱근, 대략 1.414와 같습니다.
2. 방법
Math 개체는 수학 연산을 수행하기 위한 여러 메서드를 제공합니다.
- Math.abs(x): x의 절대값을 반환합니다.
Math.abs(-5); // 5
- Math.ceil(x): x를 가장 가까운 정수로 반올림합니다.
Math.ceil(4.2); // 5
- Math.floor(x): x를 가장 가까운 정수로 내림합니다.
Math.floor(4.7); // 4
- Math.round(x): x를 가장 가까운 정수로 반올림합니다.
Math.round(4.5); // 5
- Math.max(...values): 0개 이상의 숫자 중 가장 큰 숫자를 반환합니다.
Math.max(1, 5, 3); // 5
- Math.min(...values): 0개 이상의 숫자 중 가장 작은 숫자를 반환합니다.
Math.min(1, 5, 3); // 1
- Math.random(): 0(포함)과 1(제외) 사이의 의사 난수를 반환합니다.
Math.random(); // e.g., 0.237
- Math.pow(base, exComponent): 지수 거듭제곱으로 거듭제곱된 밑수를 반환합니다.
Math.pow(2, 3); // 8
- Math.sqrt(x): x의 제곱근을 반환합니다.
Math.sqrt(9); // 3
- Math.trunc(x): 소수점 이하 자릿수를 제거하고 x의 정수 부분을 반환합니다.
Math.trunc(4.9); // 4
3. 사용예
Math 개체를 사용하는 방법에 대한 몇 가지 실제 예는 다음과 같습니다.
- 임의의 정수 생성
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(getRandomInt(1, 10)); // e.g., 7
- 사변 계산
function calculateHypotenuse(a, b) { return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); } console.log(calculateHypotenuse(3, 4)); // 5
4. 제한사항 및 참고사항
- 정밀도 문제: 부동 소수점 산술은 정밀도 문제로 이어질 수 있습니다. 예를 들어 Math.sqrt(2) * Math.sqrt(2)는 반올림 오류로 인해 정확히 2가 아닐 수도 있습니다.
- 생성자가 아님: Math 객체에는 생성자 기능이 없습니다. 모든 속성과 메서드는 정적입니다.
수학 객체 메서드 및 속성
1. 수학.abs(x)
x의 절대값을 반환합니다.
console.log(Math.abs(-10)); // 10 console.log(Math.abs(5.5)); // 5.5
2. Math.acos(x)
x의 아크코사인(역코사인)을 라디안 단위로 반환합니다.
console.log(Math.acos(1)); // 0 console.log(Math.acos(0)); // 1.5707963267948966 (π/2)
3. Math.acosh(x)
x의 쌍곡선 아크코사인을 반환합니다.
console.log(Math.acosh(1)); // 0 console.log(Math.acosh(2)); // 1.3169578969248166
4. Math.asin(x)
x의 아크사인(역사인)을 라디안 단위로 반환합니다.
console.log(Math.asin(0)); // 0 console.log(Math.asin(1)); // 1.5707963267948966 (π/2)
5. Math.asinh(x)
x의 쌍곡선 아크사인을 반환합니다.
console.log(Math.asinh(0)); // 0 console.log(Math.asinh(1)); // 0.881373587019543
6. Math.atan(x)
x의 아크탄젠트(역탄젠트)를 라디안 단위로 반환합니다.
console.log(Math.atan(1)); // 0.7853981633974483 (π/4) console.log(Math.atan(0)); // 0
7. Math.atan2(y, x)
인수 몫의 아크탄젠트를 라디안 단위로 반환합니다.
console.log(Math.atan2(1, 1)); // 0.7853981633974483 (π/4) console.log(Math.atan2(-1, -1)); // -2.356194490192345 (-3π/4)
8. Math.atanh(x)
x의 쌍곡선탄젠트를 반환합니다.
console.log(Math.atanh(0)); // 0 console.log(Math.atanh(0.5)); // 0.5493061443340549
9. 수학.cbrt(x)
x의 세제곱근을 반환합니다.
console.log(Math.cbrt(27)); // 3 console.log(Math.cbrt(-8)); // -2
10. Math.ceil(x)
x를 가장 가까운 정수로 반올림합니다.
console.log(Math.ceil(4.2)); // 5 console.log(Math.ceil(-4.7)); // -4
11. Math.clz32(x)
x의 32비트 이진 표현에서 앞에 오는 0의 개수를 반환합니다.
console.log(Math.clz32(1)); // 31 console.log(Math.clz32(0x80000000)); // 0
12. Math.cos(x)
x의 코사인을 반환합니다(여기서 x는 라디안임).
console.log(Math.cos(0)); // 1 console.log(Math.cos(Math.PI)); // -1
13. Math.cosh(x)
Returns the hyperbolic cosine of x.
console.log(Math.cosh(0)); // 1 console.log(Math.cosh(1)); // 1.5430806348152437
14. Math.E
Returns Euler's number, approximately 2.718.
console.log(Math.E); // 2.718281828459045
15. Math.exp(x)
Returns the value of e raised to the power of x.
console.log(Math.exp(1)); // 2.718281828459045 console.log(Math.exp(0)); // 1
16. Math.expm1(x)
Returns the value of e raised to the power of x, minus 1.
console.log(Math.expm1(1)); // 1.718281828459045 console.log(Math.expm1(0)); // 0
17. Math.floor(x)
Rounds x downwards to the nearest integer.
console.log(Math.floor(4.7)); // 4 console.log(Math.floor(-4.2)); // -5
18. Math.fround(x)
Returns the nearest (32-bit single precision) float representation of x.
console.log(Math.fround(1.337)); // 1.336914 console.log(Math.fround(1.5)); // 1.5
19. Math.LN2
Returns the natural logarithm of 2, approximately 0.693.
console.log(Math.LN2); // 0.6931471805599453
20. Math.LN10
Returns the natural logarithm of 10, approximately 2.302.
console.log(Math.LN10); // 2.302585092994046
21. Math.log(x)
Returns the natural logarithm (base e) of x.
console.log(Math.log(Math.E)); // 1 console.log(Math.log(10)); // 2.302585092994046
22. Math.log10(x)
Returns the base-10 logarithm of x.
console.log(Math.log10(10)); // 1 console.log(Math.log10(100)); // 2
23. Math.LOG10E
Returns the base-10 logarithm of e, approximately 0.434.
console.log(Math.LOG10E); // 0.4342944819032518
24. Math.log1p(x)
Returns the natural logarithm of 1 + x.
console.log(Math.log1p(1)); // 0.6931471805599453 console.log(Math.log1p(0)); // 0
25. Math.log2(x)
Returns the base-2 logarithm of x.
console.log(Math.log2(2)); // 1 console.log(Math.log2(8)); // 3
26. Math.LOG2E
Returns the base-2 logarithm of e, approximately 1.442.
console.log(Math.LOG2E); // 1.4426950408889634
27. Math.max(...values)
Returns the largest of zero or more numbers.
console.log(Math.max(1, 5, 3)); // 5 console.log(Math.max(-1, -5, -3)); // -1
28. Math.min(...values)
Returns the smallest of zero or more numbers.
console.log(Math.min(1, 5, 3)); // 1 console.log(Math.min(-1, -5, -3)); // -5
29. Math.PI
Returns the value of π, approximately 3.14159.
console.log(Math.PI); // 3.141592653589793
30. Math.pow(base, exponent)
Returns the value of base raised to the power of exponent.
console.log(Math.pow(2, 3)); // 8 console.log(Math.pow(5, 0)); // 1
31. Math.random()
Returns a pseudo-random number between 0 (inclusive) and 1 (exclusive).
console.log(Math.random()); // e.g., 0.237
32. Math.round(x)
Rounds x to the nearest integer.
console.log(Math.round(4.5)); // 5 console.log(Math.round(4.4)); // 4
33. Math.sign(x)
Returns the sign of a number, indicating whether the number is positive, negative, or zero.
console.log(Math.sign(-5)); // -1 console.log(Math.sign(0)); // 0 console.log(Math.sign(5)); // 1
34. Math.sin(x)
Returns the sine of x (where x is in radians).
console.log(Math.sin(0)); // 0 console.log(Math.sin(Math.PI / 2)); // 1
35. Math.sinh(x)
Returns the hyperbolic sine of x.
console.log(Math.sinh(0)); // 0 console.log(Math.sinh(1)); // 1.1752011936438014
36. Math.sqrt(x)
Returns the square root of x.
console.log(Math.sqrt(9)); // 3 console.log(Math.sqrt(16)); // 4
37. Math.SQRT1_2
Returns the square root of 1/2, approximately 0.707.
console.log(Math.SQRT1_2); // 0.7071067811865476
38. Math.SQRT2
Returns the square root of 2, approximately 1.414.
console.log(Math.SQRT2); // 1.4142135623730951
39. Math.tan(x)
Returns the tangent of x (where x is in radians).
console.log(Math.tan(0)); // 0 console.log(Math.tan(Math.PI / 4)); // 1
40. Math.tanh(x)
Returns the hyperbolic tangent of x.
console.log(Math.tanh(0)); // 0 console.log(Math.tanh(1)); // 0.7615941559557649
41. Math.trunc(x)
Returns the integer part of a number by removing any fractional digits.
console.log(Math.trunc(4.9)); // 4 console.log(Math.trunc(-4.9)); // -4
위 내용은 JavaScripts 수학 객체 익히기: 내장 수학 함수 및 속성에 대한 종합 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

웹 개발에서 JavaScript의 주요 용도에는 클라이언트 상호 작용, 양식 검증 및 비동기 통신이 포함됩니다. 1) DOM 운영을 통한 동적 컨텐츠 업데이트 및 사용자 상호 작용; 2) 사용자가 사용자 경험을 향상시키기 위해 데이터를 제출하기 전에 클라이언트 확인이 수행됩니다. 3) 서버와의 진실한 통신은 Ajax 기술을 통해 달성됩니다.

실제 세계에서 JavaScript의 응용 프로그램에는 프론트 엔드 및 백엔드 개발이 포함됩니다. 1) DOM 운영 및 이벤트 처리와 관련된 TODO 목록 응용 프로그램을 구축하여 프론트 엔드 애플리케이션을 표시합니다. 2) Node.js를 통해 RESTFULAPI를 구축하고 Express를 통해 백엔드 응용 프로그램을 시연하십시오.

보다 효율적인 코드를 작성하고 성능 병목 현상 및 최적화 전략을 이해하는 데 도움이되기 때문에 JavaScript 엔진이 내부적으로 작동하는 방식을 이해하는 것은 개발자에게 중요합니다. 1) 엔진의 워크 플로에는 구문 분석, 컴파일 및 실행; 2) 실행 프로세스 중에 엔진은 인라인 캐시 및 숨겨진 클래스와 같은 동적 최적화를 수행합니다. 3) 모범 사례에는 글로벌 변수를 피하고 루프 최적화, Const 및 Lets 사용 및 과도한 폐쇄 사용을 피하는 것이 포함됩니다.

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.
