Math对象概述

Math(算数)对象的作用是:执行常见的算数任务。保存数学公式和信息.

与我们在JavaScript 直接编写计算功能相比,Math 对象提供的计算功能执行起来要快得多。

Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。

您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math对象的属性

Math 对象包含的属性大都是数学计算中可能会用到的一些特殊值

console.log(Math.E);
console.log(Math.LN10);
console.log(Math.LN2);
console.log(Math.LOG2E);
console.log(Math.LOG10E);
console.log(Math.PI);
console.log(Math.SQRT1_2);
console.log(Math.SQRT2);

Math 对象的方法

 min()和 max()方法

Math.min()用于确定一组数值中的最小值。

Math.max()用于确定一组数值中的最大值。

// max()方法
console.log(Math.max(5,7)); //
console.log(Math.max(-3,5));//
console.log(Math.max(-3,-5));//-3
console.log(Math.max(7.25,7.31));//7.31 //min()方法
console.log(Math.min(5,7));//
console.log(Math.min(-3,5));//-3
console.log(Math.min(-3,-5));//-5
console.log(Math.min(7.25,7.30));//7.25 console.log(Math.min(2,4,3,6,3,8,0,1,3)); //最小值:0
console.log(Math.max(4,7,8,3,1,9,6,0,3,2)); //最大值:9

四舍五入方法:Math.ceil()

Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数

 console.log(Math.ceil(25.9)); //
console.log(Math.ceil(25.5)); //
console.log(Math.ceil(25.1)); //

四舍五入方法:Math.floor()

Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数

 console.log(Math.floor(25.9)); //
console.log(Math.floor(25.5)); //
console.log(Math.floor(25.1)); //

四舍五入方法:Math.round()

Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数

 console.log(Math.round(25.9)); //
console.log(Math.round(25.5)); //
console.log(Math.round(25.1)); //

random()方法

该方法返回介于 0 到 1 之间一个随机小数,不包括 0 和 1。

console.log(Math.random());

如果想获取大于这个范围的随机数的话,可以套用一下公式:值 = Math.floor(Math.random() * 总数 + 第一个值)

 //随机产生 1-10 之间的任意整数

 //先获取随机小数
var box = Math.random(); //将获取到的随机小数,乘以10等到0到10之间的小数,不包括0和10,最后加上1就可以等到1到10之间的小数
box = box*10+1; //将后面的小数截取掉(即将数值向下舍入),变成整数
box = Math.floor(box); console.log(box); //写成一句话就是:console.log(Math.floor(Math.random() * 10 + 1));
//5-14 之间的任意数(10+5-1=14)
console.log(Math.floor(Math.random() * 10 + 5)) //如果想要5到10 10-5+1 = 6 就是*6+5
console.log(Math.floor(Math.random() * 6 + 5))

为了更加方便的传递想要范围,可以定义一个函数,包含头和尾

function selectFrom(lower, upper) {
var sum = upper - lower + 1; //总数-第一个数+1
// var sum = upper - lower; //如果不包含尾的话就不用加1
return Math.floor(Math.random() * sum + lower);
} for (var i=0 ;i<10;i++) {
console.log(selectFrom(5,10));//直接传递范围即可

其他方法

JavaScript的内置对象(Math对象)的更多相关文章

  1. ES6新特性:Javascript中内置的延迟对象Promise

    Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise,  构造函数需要两个参数, 第一个参数为函 ...

  2. 第一百零八节,JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式

    JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式 学习要点: 1.Global对象 2.Math对象 ECMA-262对内置对象的定义是:"由ECMASc ...

  3. 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象

    一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...

  4. JavaScript (内置对象及方法)

    JavaScript中的对象分为3种:内置对象.浏览器对象.自定义对象 JavaScript 提供多个内置对象:Math/Array/Number/String/Boolean... 对象只是带有属性 ...

  5. JavaScript 标准内置对象

    JavaScript 标准内置对象或称全局的对象(global objects)不要和 全局对象(global object)混淆.这里说的全局的对象是说在全局作用域里的对象,全局作用域包含了全局对象 ...

  6. JavaScript 标准内置对象Promise使用学习总结

    Javascript标准内置对象Promise使用学习总结   by:授客 QQ:1033553122 1.   基础用法 var condition = true; let p = new Prom ...

  7. JavaScript要点(十七) Math 对象

    来源:JavaScript 参考手册 Math 对象 Math 对象用于执行数学任务. Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(). 语法 var ...

  8. 【Unity】3.1 利用内置的3D对象创建三维模型

    分类:Unity.C#.VS2015 创建日期:2016-04-02 一.基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需 ...

  9. #9.6课堂JS总结#变量作用域 date()对象 math()对象

    一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...

  10. 【JavaScript】内置对象Math

    Math是具有用于数学常数和函数的属性和方法一内置对象.不是函数对象. 描述编辑 不像其他的全局对象,Math不是一个构造函数.所有属性和方法Math都是静态的.你指的是常数pi为Math.PI你调用 ...

随机推荐

  1. Spring Boot依赖引入的多种方式

    使用Spring Boot开发,不可避免的会面临Maven依赖包版本的管理. 有如下几种方式可以管理Spring Boot的版本. 使用parent继承 <?xml version=" ...

  2. springboot整合netty(二)

    目录 前言 正文 代码 1. 新建一个springboot项目,在pom文件中添加netty依赖: 2.新建netty服务 3.netty调用所需的服务类 4 springboot启动类 5.测试 我 ...

  3. String的坑

       想必大家在熟悉不过了,不错今天就遇到了这个万年坑,哪怕喜欢翻源码的人,也不屑一顾翻它的源码,良言相劝最好翻下源码. 1. String为啥被定义为final ? 2. String是线程安全的么 ...

  4. BZOJ4559: [JLoi2016]成绩比较(dp 拉格朗日插值)

    题意 题目链接 Sol 想不到想不到.. 首先在不考虑每个人的真是成绩的情况下,设\(f[i][j]\)表示考虑了前\(i\)个人,有\(j\)个人被碾压的方案数 转移方程:\[f[i][j] = \ ...

  5. loj#2483. 「CEOI2017」Building Bridges(dp cdq 凸包)

    题意 题目链接 Sol \[f[i], f[j] + (h[i] - h[j])^2 + (w[i - 1] - w[j]))\] 然后直接套路斜率优化,发现\(k, x\)都不单调 写个cdq就过了 ...

  6. LVS + nginx实现高性能精准负载均衡

  7. IIS 配置 HTTPS

    前言 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secu ...

  8. python语言学习--1

    第一天 item: 当字符串中出现 反斜杠'\' 时,输出时会把它当做转义字符处理,所以结果中不会出现它,若要正常输出则需要在字符串前面加上r, 我想r的意思是religion即“原始”的意思: it ...

  9. 解决VS2015单元测试“未能设置用于运行测试的执行上下文”问题

    VS的单元测试在进行测试时并不像普通Exe会为你提示xx文件未找到,而是类似下面这样: 测试名称: 部署文件到Linux测试全名: unittest::SmartDispatch::部署文件到Linu ...

  10. ERP按序打印问题

    按序打印只适合一个机器,不适合主副机模式,主副机模式请勾选同时打印 如果开启主副机模式勾选了按序打印,会造成副机下厨后厨不出单