Tutorial by Examples

The addition operator (+) adds numbers. var a = 9, b = 3, c = a + b; c will now be 12 This operand can also be used multiple times in a single assignment: var a = 9, b = 3, c = 8, d = a + b + c; d will now be 20. Both operands are converted to primitive types. ...

Subtraction (-)

The subtraction operator (-) subtracts numbers. var a = 9; var b = 3; var c = a - b; c will now be 6 If a string or boolean is provided in place of a number value, it gets converted to a number before the difference is calculated (0 for false, 1 for true): &quot;5&quot; - 1; // 4 7 - ...

Multiplication (*)

The multiplication operator (*) perform arithmetic multiplication on numbers (literals or variables). console.log( 3 * 5); // 15 console.log(-3 * 5); // -15 console.log( 3 * -5); // -15 console.log(-3 * -5); // 15

Division (/)

The division operator (/) perform arithmetic division on numbers (literals or variables). console.log(15 / 3); // 5 console.log(15 / 4); // 3.75

Remainder / Modulus (%)

The remainder / modulus operator (%) returns the remainder after (integer) division. console.log( 42 % 10); // 2 console.log( 42 % -10); // 2 console.log(-42 % 10); // -2 console.log(-42 % -10); // -2 console.log(-40 % 10); // -0 console.log( 40 % 10); // 0 This operator returns th...

Incrementing (++)

The Increment operator (++) increments its operand by one. If used as a postfix, then it returns the value before incrementing. If used as a prefix, then it returns the value after incrementing. //postfix var a = 5, // 5 b = a++, // 5 c = a // 6 In this case, a is incr...

Decrementing (--)

The decrement operator (--) decrements numbers by one. If used as a postfix to n, the operator returns the current n and then assigns the decremented the value. If used as a prefix to n, the operator assigns the decremented n and then returns the changed value. var a = 5, // 5 b = a...

Exponentiation (Math.pow() or **)

Exponentiation makes the second operand the power of the first operand (ab). var a = 2, b = 3, c = Math.pow(a, b); c will now be 8 6 Stage 3 ES2016 (ECMAScript 7) Proposal: let a = 2, b = 3, c = a ** b; c will now be 8 Use Math.pow to find the nth root of a number....

Constants

ConstantsDescriptionApproximateMath.EBase of natural logarithm e2.718Math.LN10Natural logarithm of 102.302Math.LN2Natural logarithm of 20.693Math.LOG10EBase 10 logarithm of e0.434Math.LOG2EBase 2 logarithm of e1.442Math.PIPi: the ratio of circle circumference to diameter (π)3.14Math.SQRT1_2Square ro...

Trigonometry

All angles below are in radians. An angle r in radians has measure 180 * r / Math.PI in degrees. Sine Math.sin(r); This will return the sine of r, a value between -1 and 1. Math.asin(r); This will return the arcsine (the reverse of the sine) of r. Math.asinh(r) This will return the hype...

Rounding

Rounding Math.round() will round the value to the closest integer using half round up to break ties. var a = Math.round(2.3); // a is now 2 var b = Math.round(2.7); // b is now 3 var c = Math.round(2.5); // c is now 3 But var c = Math.round(-2.7); // c is now -3 va...

Random Integers and Floats

var a = Math.random(); Sample value of a: 0.21322848065742162 Math.random() returns a random number between 0 (inclusive) and 1 (exclusive) function getRandom() { return Math.random(); } To use Math.random() to get a number from an arbitrary range (not [0,1)) use this function to get a...

Bitwise operators

Note that all bitwise operations operate on 32-bit integers by passing any operands to the internal function ToInt32. Bitwise or var a; a = 0b0011 | 0b1010; // a === 0b1011 // truth table // 1010 | (or) // 0011 // 1011 (result) Bitwise and a = 0b0011 &amp; 0b1010; // a === 0b0010 // t...

Get Random Between Two Numbers

Returns a random integer between min and max: function randomBetween(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } Examples: // randomBetween(0, 10); Math.floor(Math.random() * 11); // randomBetween(1, 10); Math.floor(Math.random() * 10) + 1; // randomBet...

Random with gaussian distribution

The Math.random() function should give random numbers that have a standard deviation approaching 0. When picking from a deck of card, or simulating a dice roll this is what we want. But in most situations this is unrealistic. In the real world the randomness tends to gather around an common normal...

Ceiling and Floor

ceil() The ceil() method rounds a number upwards to the nearest integer, and returns the result. Syntax: Math.ceil(n); Example: console.log(Math.ceil(0.60)); // 1 console.log(Math.ceil(0.40)); // 1 console.log(Math.ceil(5.1)); // 6 console.log(Math.ceil(-5.1)); // -5 console.log(Math....

Math.atan2 to find direction

If you are working with vectors or lines you will at some stage want to get the direction of a vector, or line. Or the direction from a point to another point. Math.atan(yComponent, xComponent) return the angle in radius within the range of -Math.PI to Math.PI (-180 to 180 deg) Direction of a vect...

Sin & Cos to create a vector given direction & distance

If you have a vector in polar form (direction &amp; distance) you will want to convert it to a cartesian vector with a x and y component. For referance the screen coordinate system has directions as 0 deg points from left to right, 90 (PI/2) point down the screen, and so on in a clock wise direction...

Math.hypot

To find the distance between two points we use pythagoras to get the square root of the sum of the square of the component of the vector between them. var v1 = {x : 10, y :5}; var v2 = {x : 20, y : 10}; var x = v2.x - v1.x; var y = v2.y - v1.y; var distance = Math.sqrt(x * x + y * y); // 11.180...

Periodic functions using Math.sin

Math.sin and Math.cos are cyclic with a period of 2*PI radians (360 deg) they output a wave with an amplitude of 2 in the range -1 to 1. Graph of sine and cosine function: (courtesy Wikipedia) They are both very handy for many types of periodic calculations, from creating sound waves, to animati...

Page 1 of 2