Curriculum
Module 36 // Core JavaScript
Math Object
Module Objective
Rounding, randomness, mathematical utilities
Mental Model Realtime Simulation
INTERACTIVE_CANVASEditor_Pane
Loading...
Console_Output
Waiting for output...
Practical Code Examples
// Example 1
// 1. Random Number Generator
function getRandomInt(min, max) {
// Math.random() is [0, 1)
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomInt(1, 10));💡 `Math.random()` returns a float. Multiplying by your range and using `Math.floor` is the standard way to get a random integer.
// Example 2
// 2. Clamping Values
const rawPower = 150;
const clamped = Math.min(Math.max(rawPower, 0), 100);
console.log(clamped); // 100💡 Clamping ensures a number stays within a range (here 0 to 100). `Math.max` sets the lower bound, and `Math.min` sets the upper bound.
// Example 3
// 3. Geometry & Trigonometry
const angle = 45;
const radians = angle * (Math.PI / 180);
console.log(Math.sin(radians).toFixed(4)); // 0.7071💡 The `Math` object is essential for graphics and game logic, providing `sin`, `cos`, `tan`, and `atan2` functions.
Engine & Memory Architecture
Optimization & Execution
1. Static Nature:
Mathis a Global Singleton in the Heap.- It is created once when the engine starts and never duplicated.
2. Native Performance:
- Most
Mathmethods are built-ins implemented in C++ or Assembly within the engine. - When you call
Math.sin(), the engine bypasses much of the standard JS interpretation and calls the CPU's Math instruction set directly.
3. Precision:
Mathoperations use standard 64-bit precision.- Rule: For high-performance loops, avoid creating intermediate variables for math results to keep the CPU Cache hot and reduce RAM traffic.