码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JS中的Math数学内置对象


    • JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象

    • 内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能

    • JavaScript 提供了多个内置对象:Math、 Date 、Array、String等

    • JS中常用的Date内置对象&处理Date内置对象的一些方法:http://t.csdn.cn/ge2w0

    目录

    Math对象

    1.Math.PI圆周率

    2.Math.max()/Math.min()求最大值/最小值

    e.g.1Math.max()求数字最大值【Max.min()同理】

    e.g.2Math.max(...arr)/Math.min(...arr)求数组中数字最大值/最小值

     利用对象封装自己的数学对象,里面有PI,最大值,最小值

    3.Math.abs() 绝对值   

    4.Math.random() 返回一个随机小数,其取值范围是 [0,1),左闭右开 0 <= x < 1 【该方法不含参数】

    e.g.1Math.random() 返回一个随机小数

    e.g.2Math.random() 要想得到两个数之间【包含这两个数】的随机整数

    e.g.3Math.random()随机点名 

     e.g.4Math.random()猜数字游戏

    (1)让用户猜[1,10]之间的一个数字​编辑

     (2)Math.random()让用户猜[1,50]之间一个数字,只有10次机会

    三个取整方法:

    1.Math.floor() 向下取整,往小取

    2.Math.cell() 向上取整,往大取

    3.Math.round() 四舍五入,其他数字都是四舍五入,.5往大取


    Math对象

    Math 对象不是构造函数,所以不需要用new来调用。

    直接使用属性和方法。

    跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。

    以下方法必须有()

    1. Math.PI // 圆周率
    2. Math.floor() // 向下取整
    3. Math.ceil() // 向上取整
    4. Math.round() // 其他数四舍五入,.5往大里取 e.g. Math.round(-1.5) 结果是-1
    5. Math.abs() // 绝对值
    6. Math.max()/Math.min() // 求最大值/最小值

    1.Math.PI圆周率

    console.log(Math.PI);//圆周率3.141592653589793

    2.Math.max()/Math.min()求最大值/最小值

    e.g.1Math.max()求数字最大值【Max.min()同理】

    1. console.log(Math.max(1, 99, 3));//99
    2. //如果 有非数字参数
    3. console.log(Math.max(1, 99, 'pink老师'));//NaN
    4. //如果 无参数
    5. console.log(Math.max());//-Infinity

    e.g.2Math.max(...arr)/Math.min(...arr)求数组中数字最大值/最小值

    1. var arr = [1, 33, 2, 88, 40];
    2. console.log(Math.max(...arr));//88
    3. console.log(Math.min(...arr));//1

     利用对象封装自己的数学对象,里面有PI,最大值,最小值

    1. var myMath = {
    2. PI: 3.141592653,
    3. max: function() {
    4. var max = arguments[0];
    5. for (var i = 1; i < arguments.length; i++) {
    6. if (arguments[i] > max) {
    7. max = arguments[i];
    8. }
    9. }
    10. return max;
    11. },
    12. min: function() {
    13. var min = arguments[0];
    14. for (var i = 1; i < arguments.length; i++) {
    15. if (arguments[i] < min) {
    16. min = arguments[i];
    17. }
    18. }
    19. return min;
    20. }
    21. }
    22. console.log(myMath.PI);//圆周率3.141592653589793
    23. console.log(myMath.max(1, 5, 9));//9
    24. console.log(myMath.min(1, 5, 9));//1

    3.Math.abs() 绝对值   

    1. console.log(Math.abs(1)); // 1
    2. console.log(Math.abs(-1)); // 1
    3. console.log(Math.abs('-1')); // 1 隐式转换,会把字符串-1 转换为数字型1
    4. //如果参数是 非数字
    5. console.log(Math.abs('pink'));//NaN

    4.Math.random() 返回一个随机小数,其取值范围是 [0,1),左闭右开 0 <= x < 1 【该方法不含参数】

    e.g.1Math.random() 返回一个随机小数

    console.log(Math.random());//0.33675050626823744

    e.g.2Math.random() 要想得到两个数之间【包含这两个数】的随机整数

    1. //随机生成[1,10]之间的整数
    2. function getRandom(min, max) {
    3. return Math.floor(Math.random() * (max - min + 1)) + min;
    4. }
    5. console.log(getRandom(1, 10));//10

    e.g.3Math.random()随机点名 

    1. function getRandom(min, max) {
    2. return Math.floor(Math.random() * (max - min + 1)) + min;
    3. }
    4. var arr = ['张三', '李四', '王五', '赵六'];
    5. console.log(arr[getRandom(0, arr.length - 1)]);//赵六

     e.g.4Math.random()猜数字游戏

    (1)让用户猜[1,10]之间的一个数字

    1. function getRandom(min,max) {
    2. return Math.floor(Math.random() * (max - min + 1)) + min;
    3. }
    4. var random = getRandom(1,10);
    5. while(true) { //死循环 ,需要退出循环条件
    6. var num = prompt('请输入1~10之间的一个整数:');
    7. if(num > random) {
    8. alert('你猜大了');
    9. }else if (num < random) {
    10. alert('你猜小了');
    11. }else {
    12. alert('你猜中了');
    13. break; //退出整个循环
    14. }
    15. }

     (2)Math.random()让用户猜[1,50]之间一个数字,只有10次机会

    1. function getRandom(min, max) {
    2. return Math.floor(Math.random() * (max - min + 1)) + min;
    3. }
    4. var random = getRandom(1, 50);
    5. for (var i = 1; 1 <= 10; i++) {
    6. var num = prompt('请输入1-50之间的一个数字');
    7. if (num > random) {
    8. alert('你猜大了');
    9. } else if (num < random) {
    10. alert('你猜小了');
    11. } else if (num == 'exit') {
    12. break;
    13. } else {
    14. alert('你猜对了');
    15. break;
    16. }
    17. if (i == 10 && num != random) {
    18. alert('10次机会已用完,游戏结束');
    19. }
    20. }

    三个取整方法:

    1.Math.floor() 向下取整,往小取

    1. console.log(Math.floor(1.1)); // 1
    2. console.log(Math.floor(1.9)); // 1

    2.Math.cell() 向上取整,往大取

    1. console.log(Math.ceil(1.1)); //2
    2. console.log(Math.ceil(1.9)); //2

    3.Math.round() 四舍五入,其他数字都是四舍五入,.5往大取

    1. console.log(Math.round(1.1)); //1 四舍五入
    2. console.log(Math.round(1.5)); //2
    3. console.log(Math.round(1.9)); //2 四舍五入
    4. console.log(Math.round(-1.1)); // -1 四舍五入
    5. console.log(Math.round(-1.5)); // -1

  • 相关阅读:
    Grid 网格响应式布局教程
    算法复杂度的计算
    C++第四章:类与对象
    Telemetry原理
    AJAX请求的优缺点
    【linux】手动配置静态IPv4
    pandas - merge()
    部署SSM项目到Linux
    蓝桥杯 题库 简单 每日十题 day5
    监控系统-Prometheus(普罗米修斯)(四)存储机制(Long-Term Storage)
  • 原文地址:https://blog.csdn.net/weixin_72322475/article/details/127662625
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号