【JavaScript】内置对象 ③ ( Math 内置对象 | Math 内置对象简介 | Math 内置对象的使用 )

文章目录

  • [一、Math 内置对象](#一、Math 内置对象)
    • [1、Math 内置对象简介](#1、Math 内置对象简介)
    • [2、Math 内置对象的使用](#2、Math 内置对象的使用)
  • 二、代码示例
    • [1、代码示例 - Math 内置对象的使用](#1、代码示例 - Math 内置对象的使用)
    • [2、代码示例 - 封装 Math 内置对象](#2、代码示例 - 封装 Math 内置对象)

一、Math 内置对象


1、Math 内置对象简介

JavaScript 中的 Math 内置对象 是一个 全局对象 , 该对象 提供了 常用的 数学常数 和 数学计算函数 ;

利用 Math 对象 的 函数和常数 , 可以完成各种数学运算任务 , 如 :

  • 获取最大 / 最小值
  • 求绝对值
  • 随机数生成
  • 三角函数计算
  • 对数计算
  • 取整

Math 文档地址 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math

2、Math 内置对象的使用

Math 不是 构造函数 , 其所有的 属性 和 方法 都是静态的 , 不需要使用 new 操作符

JavaScript 引擎初始化完毕后 , 该 Math 内置对象就会被创建 , 可以直接调用 Math 对象 ;

在代码中 , 可以直接 通过调用

  • Math.属性名
javascript 复制代码
        // 打印 Math 内置对象的常量
        // 输出 : 3.141592653589793
        console.log(Math.PI)
  • math.方法名()
javascript 复制代码
        // 调用 Math 内置对象的方法
        // 输出 : 3
        console.log(Math.max(1, 2, 3))

的方式 , 调用该 Math 内置对象的 属性 和 方法 ;

二、代码示例


1、代码示例 - Math 内置对象的使用

完整代码示例 :

html 复制代码
<!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 内置对象的常量
        // 输出 : 3.141592653589793
        console.log(Math.PI)

        // 调用 Math 内置对象的方法
        // 输出 : 3
        console.log(Math.max(1, 2, 3))
    </script>
</head>

<body>
</body>

</html>

执行结果 :

2、代码示例 - 封装 Math 内置对象

自己自定义一个对象 , 封装 一个 自定义数学计算对象 , 提供 圆周率 值 属性 , 和 求 最大值 的方法 ;

参考 【JavaScript】对象 ① ( 对象概念 | 对象使用场景 | 使用字面量创建对象 | 空对象字面量 | 小括号 / 中括号 / 大括号 作用 ) 博客 , 使用字面量创建对象 代码 ;

javascript 复制代码
var person = {  
    name: "Tom",  
    age: 18,  
    hello: function() {  
        return this.name+ " is " + this.age + " years old";  
    }  
};

完整代码示例 :

html 复制代码
<!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>
        var math = {
            // 封装 圆周率 属性
            PI: Math.PI,

            // 封装 求最大值的方法
            max: function() {
                // 此处不知道输入多少个参数 , 使用 arguments 获取不同个数的实参
                var max = arguments[0]
                for (var i = 0; i < arguments.length; i++) {
                    if (arguments[i] > max) {
                        max = arguments[i]
                    }
                }
                return max
            }
        }

        // 调用自定义对象的属性
        console.log(math.PI)

        // 调用自定义对象的方法
        console.log(math.max(9, 5, 2, 7))
    </script>
</head>

<body>
</body>

</html>

执行结果 :

相关推荐
北辰浮光2 分钟前
[Mybatis-plus]
java·开发语言·mybatis
烛阴15 分钟前
UV Coordinates & Uniforms -- OpenGL UV坐标和Uniform变量
前端·webgl
姑苏洛言20 分钟前
扫码小程序实现仓库进销存管理中遇到的问题 setStorageSync 存储大小限制错误解决方案
前端·后端
烛阴30 分钟前
JavaScript 的 8 大“阴间陷阱”,你绝对踩过!99% 程序员崩溃瞬间
前端·javascript·面试
光而不耀@lgy35 分钟前
C++初登门槛
linux·开发语言·网络·c++·后端
lkbhua莱克瓦2440 分钟前
用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
c语言·开发语言·数据结构·链表·学习方法·交友·计算器
Mr__Miss43 分钟前
面试踩过的坑
java·开发语言
啊丢_1 小时前
C++——Lambda表达式
开发语言·c++
lh_12541 小时前
ECharts 地图开发入门
前端·javascript·echarts
jjw_zyfx1 小时前
成熟的前端vue vite websocket,Django后端实现方案包含主动断开websocket连接的实现
前端·vue.js·websocket