JavaScript的内置对象(Math对象)
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对象)的更多相关文章
- ES6新特性:Javascript中内置的延迟对象Promise
Promise的基本使用: 利用Promise是解决JS异步执行时候回调函数嵌套回调函数的问题, 更简洁地控制函数执行流程: 通过new实例化Promise, 构造函数需要两个参数, 第一个参数为函 ...
- 第一百零八节,JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式
JavaScript,内置对象,Global对象字符串编码解码,Math对象数学公式 学习要点: 1.Global对象 2.Math对象 ECMA-262对内置对象的定义是:"由ECMASc ...
- 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...
- JavaScript (内置对象及方法)
JavaScript中的对象分为3种:内置对象.浏览器对象.自定义对象 JavaScript 提供多个内置对象:Math/Array/Number/String/Boolean... 对象只是带有属性 ...
- JavaScript 标准内置对象
JavaScript 标准内置对象或称全局的对象(global objects)不要和 全局对象(global object)混淆.这里说的全局的对象是说在全局作用域里的对象,全局作用域包含了全局对象 ...
- JavaScript 标准内置对象Promise使用学习总结
Javascript标准内置对象Promise使用学习总结 by:授客 QQ:1033553122 1. 基础用法 var condition = true; let p = new Prom ...
- JavaScript要点(十七) Math 对象
来源:JavaScript 参考手册 Math 对象 Math 对象用于执行数学任务. Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(). 语法 var ...
- 【Unity】3.1 利用内置的3D对象创建三维模型
分类:Unity.C#.VS2015 创建日期:2016-04-02 一.基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需 ...
- #9.6课堂JS总结#变量作用域 date()对象 math()对象
一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...
- 【JavaScript】内置对象Math
Math是具有用于数学常数和函数的属性和方法一内置对象.不是函数对象. 描述编辑 不像其他的全局对象,Math不是一个构造函数.所有属性和方法Math都是静态的.你指的是常数pi为Math.PI你调用 ...
随机推荐
- Spring Boot依赖引入的多种方式
使用Spring Boot开发,不可避免的会面临Maven依赖包版本的管理. 有如下几种方式可以管理Spring Boot的版本. 使用parent继承 <?xml version=" ...
- springboot整合netty(二)
目录 前言 正文 代码 1. 新建一个springboot项目,在pom文件中添加netty依赖: 2.新建netty服务 3.netty调用所需的服务类 4 springboot启动类 5.测试 我 ...
- String的坑
想必大家在熟悉不过了,不错今天就遇到了这个万年坑,哪怕喜欢翻源码的人,也不屑一顾翻它的源码,良言相劝最好翻下源码. 1. String为啥被定义为final ? 2. String是线程安全的么 ...
- BZOJ4559: [JLoi2016]成绩比较(dp 拉格朗日插值)
题意 题目链接 Sol 想不到想不到.. 首先在不考虑每个人的真是成绩的情况下,设\(f[i][j]\)表示考虑了前\(i\)个人,有\(j\)个人被碾压的方案数 转移方程:\[f[i][j] = \ ...
- 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就过了 ...
- LVS + nginx实现高性能精准负载均衡
- IIS 配置 HTTPS
前言 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secu ...
- python语言学习--1
第一天 item: 当字符串中出现 反斜杠'\' 时,输出时会把它当做转义字符处理,所以结果中不会出现它,若要正常输出则需要在字符串前面加上r, 我想r的意思是religion即“原始”的意思: it ...
- 解决VS2015单元测试“未能设置用于运行测试的执行上下文”问题
VS的单元测试在进行测试时并不像普通Exe会为你提示xx文件未找到,而是类似下面这样: 测试名称: 部署文件到Linux测试全名: unittest::SmartDispatch::部署文件到Linu ...
- ERP按序打印问题
按序打印只适合一个机器,不适合主副机模式,主副机模式请勾选同时打印 如果开启主副机模式勾选了按序打印,会造成副机下厨后厨不出单