【JavaScript】内置对象 ④ ( Math 内置对象常用方法 | 取绝对值 | 向下取整 | 向上取整 | 四舍五入取整 | 取随机数 )

文章目录

  • 一、Math 内置对象常用方法
    • 1、计算绝对值 - Math.abs
    • 2、取整计算 - Math.floor 向下取整 / Math.ceil 向上取整 / Math.round 四舍五入
    • 3、随机数 - Math.random
    • 4、代码示例 - 猜随机数





一、Math 内置对象常用方法




1、计算绝对值 - Math.abs


向 Math.abs() 方法中 传入数值 , 会自动取绝对值 ,

如果传入非数字 , 会进行隐式转换 ,

  • 如果成功转换为 数字类型 , 则自动计算绝对值 ;
  • 如果无法转为数字类型 , 则返回 NaN 非数字结果 ;

Math.abs() 方法文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/abs


代码示例 :

        // 1. 求绝对值 Math.abs// 输出 : 1console.log(Math.abs(1));// 输出 : 1, -1 的绝对值是 1console.log(Math.abs(-1));// 输出 : 1, 隐式转换 , abs 接收一个 Number 数字类型数据//      将 `-1` 传入 abs 函数 会将 `-1` 进行隐式转换为 -1 数值//      然后再进行绝对值运算console.log(Math.abs(`-1`));// 输出 : NaN//      隐式转换出现问题 , 转换结果为 NaN 非数字console.log(Math.abs(`Tom`));

完整代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// Math 对象的常用方法// 1. 求绝对值 Math.abs// 输出 : 1console.log(Math.abs(1));// 输出 : 1, -1 的绝对值是 1console.log(Math.abs(-1));// 输出 : 1, 隐式转换 , abs 接收一个 Number 数字类型数据//      将 `-1` 传入 abs 函数 会将 `-1` 进行隐式转换为 -1 数值//      然后再进行绝对值运算console.log(Math.abs(`-1`));// 输出 : NaN//      隐式转换出现问题 , 转换结果为 NaN 非数字console.log(Math.abs(`Tom`));</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述


2、取整计算 - Math.floor 向下取整 / Math.ceil 向上取整 / Math.round 四舍五入


取整计算 :

  • Math.floor() 向下取整 : 返回小于等于一个给定数字的最大整数 ;
    • 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
  • Math.ceil() 向上取整 : 返回大于等于给定数字的最小整数 ;
    • 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil
  • Math.round() 四舍五入 : 返回一个数字四舍五入后最接近的整数 ;
    • 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/round
    • 该 四舍五入 时 , 小数是 .5 的话 , 取离它最近较大的数 , 如果是 -3.5 则从 -3 和 -4 中取较大的数 -3 ;

代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// Math 内置对象 取整计算// Math.floor() 向下取整console.log(Math.floor(3.1));console.log(Math.floor(3.9));// Math.ceil() 向上取整console.log(Math.ceil(3.1));console.log(Math.ceil(3.9));// Math.round() 四舍五入console.log(Math.round(3.1));console.log(Math.round(3.9));console.log(Math.round(-3.5));</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述


3、随机数 - Math.random


调用 Math.random() 方法 可以得到一个 [0.0 , 1.0) 区间的 随机浮点数 , 注意这是一个 左闭右开 的区间 , 包含 0.0 , 不包含 1.0 ;

参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/random

可参考文档中的示例 ,

  • 得到一个两数之间的随机数
        // 2. 得到一个两数之间的随机数function getRandomArbitrary(min, max) {return Math.random() * (max - min) + min;}
  • 得到一个两数之间的随机整数
        // 3. 得到一个两数之间的随机整数function getRandomInt(min, max) {const minCeiled = Math.ceil(min);const maxFloored = Math.floor(max);// 不包含最大值,包含最小值return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled); }

代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// Math 内置对象 取整计算// 1. Math.random() 可以直接得到一个 [0, 1) 之间的小数// 注意获取的是一个前闭后开区间 , 包含 0.0 , 不包含 1.0// 2. 得到一个两数之间的随机数function getRandomArbitrary(min, max) {return Math.random() * (max - min) + min;}// 3. 得到一个两数之间的随机整数function getRandomInt(min, max) {const minCeiled = Math.ceil(min);const maxFloored = Math.floor(max);// 不包含最大值,包含最小值return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled);}console.log(Math.random());console.log(getRandomArbitrary(10, 20));console.log(getRandomInt(10, 20));</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述

刷新一下页面 , 得到新的随机数 ;
在这里插入图片描述

再次刷新 ;

在这里插入图片描述


4、代码示例 - 猜随机数


生成一个 1 ~ 10 之间的随机整数 , 然后 通过 prompt 输入框 猜大小 , 如果输入数字大了或者小了 , 使用 alert 提示用户 ;


代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// Math 内置对象 取整计算// 1. Math.random() 可以直接得到一个 [0, 1) 之间的小数// 注意获取的是一个前闭后开区间 , 包含 0.0 , 不包含 1.0// 2. 得到一个两数之间的随机数function getRandomArbitrary(min, max) {return Math.random() * (max - min) + min;}// 3. 得到一个两数之间的随机整数function getRandomInt(min, max) {const minCeiled = Math.ceil(min);const maxFloored = Math.floor(max);// 不包含最大值,包含最小值return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled);}// 注意 : 获取随机整数 包含最小值 不包含 最大值 , 最大值参数要 +1 //          这样才能取到 整数 10var random = getRandomInt(1, 11);while (true) {var num = prompt("输入 1 ~ 10 之间的数字 猜大小");if (num > random) {alert("大了");} else if (num < random) {alert("小了");} else {alert("猜对了");// 退出循环break;}}</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报错:测试报错postman(测试接口)

报错如下 c.e.exception.GlobalExceptionHandler : 异常信息&#xff1a; Content type multipart/form-data;boundary--------------------------952399813172082093419475;charsetUTF-8 not supported 解决&#xff1a; 异常信息 Content type multipart/form-data;boundary…

力扣-1832.判断句子是否全为字母句

思路: 首先&#xff0c;我们初始化了一个长度为 26 的布尔值列表 exist&#xff0c;所有值都为 False&#xff0c;表示所有字母初始都未出现过。然后&#xff0c;我们遍历输入的字符串 sentence 中的每个字符。对于每个字符&#xff0c;我们通过计算其 ASCII 码值减去字母 a 的…

深度学习从入门到精通—Transformer

1.绪论介绍 1.1 传统的RNN网络 传统的RNN&#xff08;递归神经网络&#xff09;主要存在以下几个问题&#xff1a; 梯度消失和梯度爆炸&#xff1a;这是RNN最主要的问题。由于序列的长距离依赖&#xff0c;当错误通过层传播时&#xff0c;梯度可以变得非常小&#xff08;消失…

【产品经理修炼之道】- 需求挖掘之手机话费充值

画原型图从来就不是面试考察的重点&#xff0c;分析、解决问题才是产品经理的核心能力。那么该如何积累产品经验呢&#xff1f;本文以以「手机话费充值」为案例&#xff0c;分享整个设计流程和思路&#xff0c;希望对你有所启发。 不少产品新人有个误区&#xff1a;产品经理的日…

C#带引导窗体的窗体设计方法:创建特殊窗体

目录 1.设计操作流程 2.实例 &#xff08;1&#xff09;Resources.Designer.cs &#xff08;2&#xff09;Frm_Main.Designer.cs &#xff08;3&#xff09;Frm_Main.cs &#xff08;4&#xff09;Frm_Start.Designer.cs &#xff08;5&#xff09;Frm_Start.cs &#…

调用另一个程序的数据 IMPORT EXPORT MEMORY ID

*字段介绍&#xff1a; *1.SELNAME 屏幕字段名 *2.KIND 参数类型 P PARAMETER S SELECT-OPTION *3.其他的字段和SELECT-OPTION 一样 SUBMIT xxx VIA SELECTION-SCREEN "要不要显示选择屏幕 WITH SELECTION-TABLE xxx "选择屏幕的值 AND RETURN . 利用SUBMIT XXX …

模拟信号的离散化

本文介绍模拟信号的离散化。 1.采样定理 定义&#xff1a;若想重建输入的模拟信号&#xff0c;采样频率必须大于等于输入模拟信号最高频率的2倍&#xff0c;即&#xff1a; 其中&#xff0c;为采样频率&#xff0c;为输入模拟信号最高频率 否则&#xff0c;信号会发生混叠 2…

电脑本地搭建privateGPT流程

文章目录 前言效果所需文件流程1,python版本2,工程文件安装2.1服务端搭建2.2客户端搭建 3,模型下载 前言 当我的电脑主机在本地运行privateGPT的时候我听到了cpu风扇在呼啸, 至于privateGPT是干什么的, 其实就相当于一个文档分析软件,只不过内置了一个gpt,你把文件丟给他,你可…

Oracle delete删除数据是否为逻辑删除、新插入数据占用的数据块位置实验

假设一&#xff1a;数据库delete删除为直接删除 假设二&#xff1a;数据库delete删除为逻辑删除&#xff0c;在数据块标记出来&#xff0c;但是实际并没有删除。 方式一&#xff1a;通过dump数据块的方式来实现 我们先用小数据量&#xff0c;通过dump数据块的方式来实现 -- 数…

虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本

虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本 情况描述原因分析解决方法 情况描述 公司开发机上打开虚拟机报错&#xff08;w10ent64d.vmx&#xff09;&#xff08;这虚拟机是我在家里开发机上创建的&#xff09;&#xff0c;报错截图如下&#xff1a; 报错信息…

个人音乐播放网站项目(SpringBoot+Linux部署上线)

在做完第一个博客系统项目以后&#xff0c;接着做下一个项目&#xff1a;音乐播放网站项目&#xff0c;此项目应用的技术栈和第一个项目是差不多的&#xff0c;即算是学完SSM等知识以后的两个入门级Java开发项目吧。 此项目包含的核心功能有&#xff1a; 一、登录、注册、退出…

初学python记录:力扣1146. 快照数组

题目&#xff1a; 实现支持下列接口的「快照数组」- SnapshotArray&#xff1a; SnapshotArray(int length) - 初始化一个与指定长度相等的 类数组 的数据结构。初始时&#xff0c;每个元素都等于 0。void set(index, val) - 会将指定索引 index 处的元素设置为 val。int sna…

中国版VIX—基于上证50ETF

中国版VIX—基于上证50ETF 文章目录 中国版VIX—基于上证50ETF背景VIX与SKEW指数复现方法概要部分代码&#xff1a; 完整代码及资料可关注gzh “finance褪黑素” 回复关键字 【3003】 获取 背景 VIX指数是芝加哥期权交易所引入的用于衡量股票市场波动率的指标&#xff0c;主要…

比亚迪24届春招Offer面经

本文介绍2024届春招中&#xff0c;比亚迪的高级底盘工程师岗位1场面试的基本情况、提问问题等。 2024年04月投递了比亚迪的系统开发类、 技术研发类、 技术研究类岗位&#xff0c;面试结束后分配至高级底盘工程师岗位&#xff1b;面试前未确定部门&#xff0c;面试结束后分配至…

区块链技术与应用学习笔记(1-4节)——北大肖臻课程

目录 1. 区块链初识(课程简介&#xff09; 被过度炒作&#xff0c;落地应用有限&#xff1f; 下一代的价值互联网&#xff1f;世界上最慢的数据库&#xff1f; 2. BTC-密码学原理&#xff08;比特币&#xff09; 1)哈希 哈希函数特点 个人学习所得 2)签名 个人对于…

利用Spring Boot后端与Vue前端技术构建现代化电商平台

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 &#x1f345;获取源码联系方式请查看文末&#x1f345; 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目…

竞赛课第九周(埃式筛法,矩阵乘法)

1.埃式筛法:求区间[2, n]内所有的素数对 【参考代码】 #include <bits/stdc.h> using namespace std;const int N 1e5; vector<int> prime; bool visit[N];int main() {int n;cin>>n;memset(visit, false, sizeof(visit));for(int i2; i<sqrt(n); i){i…

成都百洲文化传媒有限公司电商服务如何?

在当今数字化快速发展的时代&#xff0c;电商行业日益繁荣&#xff0c;成都百洲文化传媒有限公司作为专注电商服务的领先者&#xff0c;以其独特的服务理念和创新能力&#xff0c;赢得了市场的广泛认可。本文将从公司的背景、服务特点、市场优势以及未来展望等方面&#xff0c;…

深入理解GTK、Qt、AWTK:跨平台GUI框架对比

目录标题 GTK特性&#xff1a;优点&#xff1a;缺点&#xff1a; Qt特性&#xff1a;优点&#xff1a;缺点&#xff1a; AWTK特性&#xff1a;优点&#xff1a;缺点&#xff1a; 适用场景 在当今的软件开发领域&#xff0c;图形用户界面&#xff08;GUI&#xff09;的开发是不可…

炫云云渲染:免费体验与高性价比的首选,设计师们的渲染利器

使用云渲染是要收费的&#xff0c;如果你是第一次使用&#xff0c;是可以白嫖一波云渲染的&#xff0c;所有的云渲染都会或多或少送一些渲染券&#xff0c;你可以用它们送的渲染券免费渲一波图。但是不能一直白嫖&#xff0c;再次注册账号人家就不会送体验券了&#xff0c;有些…