JavaScript Math 对象的常用方法

JavaScript Math 对象

Math 对象

Math 对象用于执行数学任务。

使用 Math 的属性和方法的语法:

var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);

注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math对象属性:

console.log(Math.E);  // 2.718281828459045
console.log(Math.LN2);  // 0.6931471805599453
console.log(Math.LN10); // 2.302585092994046
console.log(Math.LOG2E);  // 1.4426950408889634
console.log(Math.LOG10E); // 0.4342944819032518
console.log(Math.PI);  // 3.141592653589793
console.log(Math.SQRT1_2);  // 0.7071067811865476
console.log(Math.SQRT2);  // 1.4142135623730951

Math 对象方法

常用函数:

// ceil():向上舍
console.log(Math.ceil(0.60));  // 1
console.log(Math.ceil(0.40));  // 1
console.log(Math.ceil(5));  // 5
console.log(Math.ceil(5.1));  // 6
console.log(Math.ceil(-5.1));  // -5
console.log(Math.ceil(-5.9)); // -5

// floor():向下舍
console.log(Math.floor(0.60));  // 0
console.log(Math.floor(0.40));  // 0
console.log(Math.floor(5));  // 5
console.log(Math.floor(5.1));  // 5
console.log(Math.floor(-5.1));  // -6
console.log(Math.floor(-5.9));  // -6

// round():四舍五入
console.log(Math.round(0.60));  // 1
console.log(Math.round(0.50));  // 1
console.log(Math.round(0.49));  // 0
console.log(Math.round(-4.40));  // -4
console.log(Math.round(-4.60));  // -5

// exp(x):e的x次幂的值
console.log(Math.exp(1));  // 2.718281828459045
console.log(Math.exp(-1));  // 0.36787944117144233
console.log(Math.exp(5));  // 148.4131591025766
console.log(Math.exp(10));  // 22026.465794806718

// pow(x,y):x的y次幂的值。
console.log(Math.pow(0,0));  // 1
console.log(Math.pow(0,1));  // 0
console.log(Math.pow(1,1));  // 1
console.log(Math.pow(1,10));  // 1
console.log(Math.pow(2,3));  // 8
console.log(Math.pow(-2,3));  // -8
console.log(Math.pow(2,4));  // 16
console.log(Math.pow(-2,4));  // 16

// log(x):x的自然对数。
console.log(Math.log(2.7183));  // 1.0000066849139877
console.log(Math.log(2));  // 0.6931471805599453
console.log(Math.log(1));  // 0
console.log(Math.log(0));  // -Infinity
console.log(Math.log(-1));  // NaN

// sqrt(x):x的平方根。
console.log(Math.sqrt(0));  // 0
console.log(Math.sqrt(1));  // 1
console.log(Math.sqrt(9));  // 3
console.log(Math.sqrt(0.64));  // 0.8
console.log(Math.sqrt(-9));  // NaN

// max() 最大值
console.log(Math.max(5,7));  // 7
console.log(Math.max(-3,5));  // 5
console.log(Math.max(-3,-5));  // -3
console.log(Math.max(7.25,7.30));  // 7.3

// min() 最小值
console.log(Math.min(5,7));  // 5
console.log(Math.min(-3,5));  // -3
console.log(Math.min(-3,-5));  // -5
console.log(Math.min(7.25,7.30));  // 7.25

// random() 返回0 ~ 1的随机数。
console.log(Math.random());  // 0.01338207854060558[随机]
console.log(Math.random());  // 0.7355174677792391[随机]

abs(x) 、acos(x)、asin(x)、atan(x)、atan2(y,x)、 sin(x)、cos(x)、tan(x):

// abs():求绝对值
console.log(Math.abs(7.25));  // 7.25
console.log(Math.abs(-7.25));  // 7.25
console.log(Math.abs(7.25-10));  // 2.75

// acos():求反余弦值
console.log(Math.acos(0.64));  // 0.8762980611683406
console.log(Math.acos(0));  // 1.5707963267948966
console.log(Math.acos(-1));  // 3.141592653589793
console.log(Math.acos(1));  // 0
console.log(Math.acos(2));  // NaN

// asin(x):求反正弦
console.log(Math.asin(0.64));  // 0.694498265626556
console.log(Math.asin(0));  // 0
console.log(Math.asin(-1));  // -1.5707963267948966
console.log(Math.asin(2));  // NaN

// atan(x):求反正切
console.log(Math.atan(0.50));  // 0.4636476090008061
console.log(Math.atan(-0.50));  // -0.4636476090008061
console.log(Math.atan(5));  // 1.373400766945016
console.log(Math.atan(10));  // 1.4711276743037347
console.log(Math.atan(-5));  // -1.373400766945016
console.log(Math.atan(-10));  // -1.4711276743037347

// sin():求正弦值
console.log(Math.sin(3));  // 0.1411200080598672
console.log(Math.sin(-3));  // -0.1411200080598672
console.log(Math.sin(0));  // 0
console.log(Math.sin(Math.PI));  // 1.2246467991473532e-16
console.log(Math.sin(Math.PI/2));  // 1

// cos():求余弦值
console.log(Math.cos(3));  // -0.9899924966004454
console.log(Math.cos(-3));  // -0.9899924966004454
console.log(Math.cos(0));  / 1
console.log(Math.cos(Math.PI));  // -1
console.log(Math.cos(2*Math.PI));  // 1

// tan():求正切值
console.log(Math.tan(0.50));  // 0.5463024898437905
console.log(Math.tan(-0.50));  // -0.5463024898437905
console.log(Math.tan(5));  // -3.380515006246586
console.log(Math.tan(10));  // 0.6483608274590866
console.log(Math.tan(-5));  // 3.380515006246586
console.log(Math.tan(-10));  // -0.6483608274590866


// atan2():返回从 x 轴到点 (x,y) 之间的角度。
console.log(Math.atan2(0.50,0.50));  // 0.7853981633974483
console.log(Math.atan2(-0.50,-0.50));  // -2.356194490192345
console.log(Math.atan2(5,5));  // 0.7853981633974483
console.log(Math.atan2(10,20));  // 0.4636476090008061
console.log(Math.atan2(-5,-5));  // -2.356194490192345
console.log(Math.atan2(-10,10));  // -0.7853981633974483

toSource()

// 有问题:!toSource() 方法返回表示对象源代码的字符串。
function employee(name,job,born) {
    this.name=name;
    this.job=job;
    this.born=born;
}

var bill = new employee("Bill Gates","Engineer",1985);

console.log(bill.toSource());

valueOf()
valueOf() 方法返回 Math 对象的原始值。
该原始值由 Math 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

原文地址:https://www.cnblogs.com/Yfling/p/6678803.html