js Math 静态类
发布日期:2022-02-08 04:20:57 浏览次数:3 分类:技术文章

本文共 1891 字,大约阅读时间需要 6 分钟。

Math 数学方法

  • 方法集全部是静态属性和方法;
  • Math是一种静态类,该类别不能实例化。

(补充:虽然跟整理主题无关,但是既然发现了,就列在这儿了。console.log(0.1+0.2===0.3); //结果为false ; 因为js处理小数点儿时有问题)

Math的静态属性

  • Math.PI:π
    1、console.log(Math.PI); //3.141592653589793
    2、弧度变角度:180/Math.PI * 弧度;
    3、角度转弧度:Math.PI/180 * 角度;
  • Math.SQRT2:2 的平方根
    1、console.log(Math.SQRT2); //1.4142135623730951
    2、该属性返回 2 的平方根。

Math的静态方法

  • Math.abs(); 绝对值

    console.log(Math.abs(-5)); //5

  • Math.round(3.2); 四舍五入

    舍入小细节:这个负数有点特别。
    console.log(Math.round(-3.5)); //-3 -4+0.5 0.5入
    console.log(Math.round(-3.6)); //-4 -4+0.4 0.4舍

  • Math.floor(); 向下取整

    console.log(3.6); //3
    console.log(-3.5); //-4
    console.log(-3.6); //-4

    • 也可以用 ~~(双非按位取反运算符),比Math.floor()速度更快些。
      不过要注意,对于正数,它向下取整;对于负数,向上取整;对于非数字取值为0,具体表现形式如下:
      在这里插入图片描述
  • Math.ceil(); 向上取整

    console.log(3.2); //4

  • Math.max(); 求最大值;

    Math.min(); 求最小值。

1、直接求最大、最小值console.log(Math.max(3, 5, 7, 8));  //8console.log(Math.min(3, 5, 7, 8));   //3 2、求数组中的最大、最小值var arr=[1,24,53,0];conso.log(Math.max.apply(null,arr));  //10conso.log(Math.min.apply(null,arr));  //1

apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性。

Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args–>arguments)
(参考:https://www.cnblogs.com/chenhuichao/p/8493095.html)

  • Math.sqrt(); 求平方根,速度较之下面的pow快

    console.log(Math.sqrt(9)); //3

  • Math.pow(); 求幂(求几次方&平方根&立方根)

console.log(Math.pow(2,2));  //4  2的2次幂为4console.log(Math.pow(2,4));  //16  2的4次幂为16console.log(Math.pow(2,0.5));//1.4142135623730951 2的平方根 属性Math.SQRT2是2的平方根console.log(Math.pow(4,0.5));//2  平方根 速度较慢console.log(Math.pow(27,1/3));//3  立方根//求2的次方幂,还可以用移位,但只能求2的,且次方数有限制(位)console.log(1<<30);  //1073741824  最高2的30次幂(是正确的)console.log(Math.pow(2,30));  //1073741824
  • Math.random(); 随机值0~1,但不包含1
    Math.ceil(Math.random); //包含1
    Math.floor(Math.random()*(max-min))+min;//传入min、max的值,可以求介于两者之间的随机数。
function random(min, max) {
return Math.floor(Math.random() * (max - min)) + min;}console.log(random(50, 150)); //介于50~150间的随机数

转载地址:https://blog.csdn.net/weixin_43297321/article/details/104198608 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:js 倒计时
下一篇:js 地址请求解析

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月05日 05时10分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java加载指定文件为当前文本,java:如何使用bufferedreader读取特定的行 2019-04-21
java metrics 怎么样,Java metrics 2019-04-21
在vscode中php语言配置,Visual Studio Code C / C++ 语言环境配置 2019-04-21
php怎么翻译数据库中的中文,javascript – 如何将翻译后的文本插入数据库php 2019-04-21
普朗克公式matlab,用MATLAB实现普朗克函数积分的快捷计算.pdf 2019-04-21
swoolec+%3c?php,PHP+Swoole并发编程的魅力 2019-04-21
php 404配置,phpcms如何配置404 2019-04-21
matlab wash矩阵产生,洗衣机净衣效能与衣损程度的关系分析 2019-04-21
php中如何调用sql server,php调用SQL SERVER 2008及以上版本的方法 2019-04-21
python多线程实现kmeans,3种方式实现python多线程并发处理 2019-04-21
matlab 变量不存在,matlab程序运行时提示变量未定义 2019-04-21
php编码函数 base58,1. Base58可逆加密 2019-04-21
oracle 在需要下列之一,Oracle存储过程中PLS-00103:出现符号“/”在需要下列之一时:(... 2019-04-21
oracle10g dblink优化,Oracle10g通过dblink访问数据异常 2019-04-21
linux安装时的iso文件,直接用ISO文件在linux上安装新系统 2019-04-21
linux修改文件权限为所有人都可以访问,Linux 笔记分享八:文件权限的设定 2019-04-21
linux中卸载ambri-servle,Kerberos 命令使用 2019-04-21
linux二进制反编译,Xori:一款来自BlackHat 2018的二进制反汇编和静态分析工具 2019-04-21
linux两台主机添加信任,Linux两台机器间添加信任,实现不用密码问,互传文件... 2019-04-21
linux 自动获取ssl证书,linux生成自验证ssl证书的具体命令和步骤 2019-04-21