• 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 在后台自动调用,并不显式地出现在代码中。

  • 相关阅读:
    cocos2dx 3.4 截图代码
    cocos2dx android平台事件系统解析
    cocos2dx3.4 保存json文件
    cocos2dx3.4 解析json文件
    cocos2dx3.4 分割plist图片
    cocos2dx3.4 导出节点树到XML文件
    win7系统cocos2dx 3.4 绑定自定义类到Lua
    cocos2dx 3.3创建新项目 和 VS2012解决方案加载失败问题
    浅谈端口扫描
    PHP 通过.user.ini 绕过黑名单限制
  • 原文地址:https://www.cnblogs.com/Yfling/p/6678803.html
Copyright © 2020-2023  润新知