JavaScript - Đối tượng Math: Cổng vào các phép toán 数学

Xin chào, các bạn đang học lập trình! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của đối tượng Math trong JavaScript. Là một giáo viên khoa học máy tính với nhiều năm kinh nghiệm, tôi có thể đảm bảo rằng việc thành thạo chủ đề này sẽ rất vui vẻ và vô cùng hữu ích trong những cuộc phiêu lưu lập trình của bạn. Hãy cùng khám phá nhé!

JavaScript - Math

Đối tượng Math là gì?

Trước khi bắt đầu, hãy hiểu đối tượng Math là gì. Trong JavaScript, đối tượng Math là một đối tượng内置 có các thuộc tính và phương thức cho các hằng số và hàm toán học. Nó giống như việc bạn có một máy tính siêu thông minh ngay tại fingertips của mình!

Thuộc tính của Math

Đối tượng Math có một số hằng số toán học được xác định trước. Hãy cùng nhìn vào những hằng số được sử dụng phổ biến nhất:

Thuộc tính Mô tả Giá trị
Math.PI Tỷ lệ của chu vi hình tròn so với đường kính Khoảng 3.14159
Math.E Số Euler, cơ số của logarit tự nhiên Khoảng 2.718
Math.LN2 Logarit tự nhiên của 2 Khoảng 0.693
Math.LN10 Logarit tự nhiên của 10 Khoảng 2.303
Math.SQRT2 Căn bậc hai của 2 Khoảng 1.414

Hãy xem chúng ta có thể sử dụng các thuộc tính này như thế nào:

console.log(Math.PI); // Output: 3.141592653589793
console.log(Math.E);  // Output: 2.718281828459045

Trong ví dụ này, chúng ta đơn giản là in giá trị của Math.PI và Math.E. Những hằng số này vô cùng chính xác và giúp chúng ta không cần phải nhớ hoặc tính toán các giá trị này bằng chính mình.

Phương thức của Math

Bây giờ, hãy khám phá một số phương thức hữu ích được cung cấp bởi đối tượng Math. Những phương thức này cho phép chúng ta thực hiện các phép toán toán học khác nhau một cách dễ dàng.

Phương thức Mô tả
Math.abs(x) Trả về giá trị tuyệt đối của x
Math.ceil(x) Trả về x làm tròn lên đến số nguyên gần nhất
Math.floor(x) Trả về x làm tròn xuống đến số nguyên gần nhất
Math.round(x) Trả về x làm tròn đến số nguyên gần nhất
Math.max(x, y, ...) Trả về số lớn nhất trong số các số cho trước
Math.min(x, y, ...) Trả về số nhỏ nhất trong số các số cho trước
Math.pow(x, y) Trả về x mũ y
Math.sqrt(x) Trả về căn bậc hai của x
Math.random() Trả về một số ngẫu nhiên介于 0 và 1

Hãy nhìn các phương thức này trong hành động với một số ví dụ:

Math.abs()

console.log(Math.abs(-5)); // Output: 5
console.log(Math.abs(3.14)); // Output: 3.14

Math.abs() trả về giá trị tuyệt đối của một số. Nó giống như việc loại bỏ dấu âm của một số nếu nó có.

Math.ceil() và Math.floor()

console.log(Math.ceil(4.2)); // Output: 5
console.log(Math.floor(4.2)); // Output: 4

Math.ceil() làm tròn một số lên đến số nguyên gần nhất, trong khi Math.floor() làm tròn nó xuống. Tôi thích nghĩ Math.ceil() là một người lạc quan (luôn nhìn lên) và Math.floor() là một người bi quan (luôn nhìn xuống).

Math.round()

console.log(Math.round(4.7)); // Output: 5
console.log(Math.round(4.4)); // Output: 4

Math.round() là người làm việc công bằng, làm tròn đến số nguyên gần nhất. Nếu phần thập phân là .5 hoặc lớn hơn, nó làm tròn lên; nếu không, nó làm tròn xuống.

Math.max() và Math.min()

console.log(Math.max(1, 3, 2)); // Output: 3
console.log(Math.min(1, 3, 2)); // Output: 1

Những phương thức này tìm số lớn nhất và nhỏ nhất trong số các số cho trước. Chúng giống như những người săn talent của thế giới số, luôn săn lùng những người có thành tích cao nhất và thấp nhất!

Math.pow() và Math.sqrt()

console.log(Math.pow(2, 3)); // Output: 8
console.log(Math.sqrt(16)); // Output: 4

Math.pow(x, y) nâng x lên mũ y, trong khi Math.sqrt() tìm căn bậc hai của x. Đây là những phương thức bạn sẽ sử dụng khi cần đối phó với các指数 và căn.

Math.random()

console.log(Math.random()); // Output: Một số ngẫu nhiên介于 0 và 1

Math.random() tạo ra một số ngẫu nhiên介于 0 (bao gồm) và 1 (không bao gồm). Nó giống như một quả xúc xắc kỹ thuật số, hoàn hảo để thêm tính không dự đoán được vào các chương trình của bạn.

Ví dụ thực tế

Bây giờ chúng ta đã bao gồm các alap, hãy nhìn vào một số ví dụ thực tế để thấy cách các phương thức này có thể được sử dụng trong các tình huống thực tế.

Ví dụ 1: Tính diện tích của một hình tròn

function calculateCircleArea(radius) {
return Math.PI * Math.pow(radius, 2);
}

console.log(calculateCircleArea(5)); // Output: 78.53981633974483

Trong ví dụ này, chúng ta sử dụng Math.PI cho giá trị của π và Math.pow() để bình phương bán kính. Hàm này tính diện tích của một hình tròn với bất kỳ bán kính nào được cho trước.

Ví dụ 2: Tạo một số nguyên ngẫu nhiên介于 hai giá trị

function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}

console.log(getRandomInt(1, 10)); // Output: Một số nguyên ngẫu nhiên介于 1 và 10

Hàm này tạo ra một số nguyên ngẫu nhiên介于 min và max (bao gồm). Chúng ta sử dụng Math.random() để tạo ra một số ngẫu nhiên, sau đó mở rộng và dịch chuyển nó để phù hợp với phạm vi mong muốn.

Ví dụ 3: Tìm hypotenuse của một tam giác vuông

function calculateHypotenuse(a, b) {
return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
}

console.log(calculateHypotenuse(3, 4)); // Output: 5

Sử dụng định lý Pythagorean, hàm này tính chiều dài của hypotenuse của một tam giác vuông. Chúng ta sử dụng Math.pow() để bình phương độ dài của hai cạnh còn lại và Math.sqrt() để tìm căn bậc hai của tổng của chúng.

Kết luận

Chúc mừng! Bạn đã chính thức bước vào thế giới của các phép toán trong JavaScript. Đối tượng Math là một công cụ mạnh mẽ có thể giúp bạn thực hiện một loạt các phép toán một cách dễ dàng. Nhớ rằng, thực hành là chìa khóa, vì vậy đừng ngần ngại thử nghiệm các phương thức này trong mã của riêng bạn.

Trong hành trình lập trình của bạn, bạn sẽ thấy rằng đối tượng Math trở thành một phần không thể thiếu trong bộ công cụ của bạn. Dù bạn đang tạo trò chơi, xây dựng các biểu đồ dữ liệu hay giải quyết các bài toán phức tạp, các công cụ toán học này sẽ luôn hỗ trợ bạn.

Tiếp tục mã hóa, tiếp tục học hỏi, và quan trọng nhất, hãy vui vẻ với nó! Toán học trong lập trình không chỉ về số học - nó về việc biến ý tưởng của bạn thành hiện thực thông qua ngôn ngữ của tính toán. Vậy hãy tiếp tục tính toán, làm tròn và ngẫu nhiên theo ý muốn của bạn!

Credits: Image by storyset