前端知识点---标准库之Math对象(Javascript)

news2024/11/13 15:44:15

文章目录

  • 01特点
  • 02常用 Math 属性
  • 03. 常用的 Math 方法
    • 3.1 四舍五入与取整
    • 3.2 基本数学运算
    • 3.3 随机数生成
    • 3.4 对数与指数
    • 3.5 三角函数
  • 04. Math 对象示例
    • 4.1 计算圆的面积
    • 4.2 生成 1 到 100 之间的随机整数
    • 4.3 使用三角函数计算斜边长度

01特点

静态对象:Math 是一个全局对象,不能作为构造函数来实例化。
直接使用:不需要创建实例,可以直接调用其方法或属性,例如 Math.PI 或 Math.sqrt()。

02常用 Math 属性

属性说明
Math.PI圆周率 π3.14159…
Math.E 自然对数的底数e2.718…
Math.LN22 的自然对数0.693…
Math.LN1010 的自然对数2.302…
Math.LOG2E以 2 为底的 e 的对数1.442…
Math.LOG10E以 10 为底的 e 的对数0.434…
Math.SQRT22 的平方根1.414…
Math.SQRT1_21/2 的平方根0.707…

03. 常用的 Math 方法

3.1 四舍五入与取整

方法描述示例
Math.round(x)四舍五入Math.round(1.5) → 2
Math.ceil(x)向上取整Math.ceil(1.2) → 2
Math.floor(x)向下取整Math.floor(1.8) → 1
Math.trunc(x)去掉小数部分(仅保留整数部分)Math.trunc(1.9) → 1

3.2 基本数学运算

方法描述示例
Math.abs(x)返回绝对值Math.abs(-5) → 5
Math.sqrt(x)返回平方根Math.sqrt(16) → 4
Math.cbrt(x)返回立方根Math.cbrt(27) → 3
Math.pow(x, y)返回 x 的 y 次幂Math.pow(2, 3) → 8
Math.max(…args)返回参数中的最大值Math.max(1, 5, 3) → 5
Math.min(…args)返回参数中的最小值Math.min(1, 5, 3) → 1

3.3 随机数生成

方法描述示例
Math.random()返回一个 0 到 1 之间的随机数(不包括 1)Math.random() → 0.6789

生成一定范围内的随机数:

// 生成 1 到 10 之间的随机整数
let randomNum = Math.floor(Math.random() * 10) + 1;

3.4 对数与指数

方法描述示例
Math.log(x)返回 x 的自然对数(以 e 为底)Math.log(Math.E) → 1
Math.log2(x)返回 x 的以 2 为底的对数Math.log2(8) → 3
Math.log10(x)返回 x 的以 10 为底的对数Math.log10(1000) → 3
Math.exp(x)返回 e 的 x 次幂Math.exp(1) → 2.718…

3.5 三角函数

方法描述示例
Math.sin(x)返回 x(弧度)的正弦值Math.sin(Math.PI / 2) → 1
Math.cos(x)返回 x(弧度)的余弦值Math.cos(0) → 1
Math.tan(x)返回 x(弧度)的正切值Math.tan(Math.PI / 4) → 1
Math.asin(x)返回 x 的反正弦值(结果是弧度)Math.asin(1) → π/2
Math.acos(x)返回 x 的反余弦值(结果是弧度)Math.acos(1) → 0
Math.atan(x)返回 x 的反正切值(结果是弧度)Math.atan(1) → π/4
Math.atan2(y, x)返回 y/x 的反正切值,考虑象限Math.atan2(1, 1) → π/4

04. Math 对象示例

4.1 计算圆的面积

let radius = 5;
let area = Math.PI * Math.pow(radius, 2);
console.log("Area of the circle: " + area);  // 输出 78.53981633974483

4.2 生成 1 到 100 之间的随机整数

let randomNum = Math.floor(Math.random() * 100) + 1;
console.log(randomNum);

4.3 使用三角函数计算斜边长度

已知直角三角形的两条直角边长度 a 和 b:

let a = 3, b = 4;
let hypotenuse = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
console.log("Hypotenuse: " + hypotenuse);  // 输出 5

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

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

相关文章

Java | Leetcode Java题解之第559题N叉树的最大深度

题目&#xff1a; 题解&#xff1a; class Solution {public int maxDepth(Node root) {if (root null) {return 0;}Queue<Node> queue new LinkedList<Node>();queue.offer(root);int ans 0;while (!queue.isEmpty()) {int size queue.size();while (size &g…

【机器学习入门】(1) 线性回归算法

学习目标&#xff1a; 线性回归是一种基本的统计学习方法&#xff0c;主要用于分析一个或多个自变量与因变量之间的线性关系。以下是关于线性回归的一些关键点&#xff1a;线性回归的四要素&#xff1a; &#xff08;1&#xff09;假设(hypothesis)&#xff1b;&#xff08;2&…

视频会议接入GB28181视频指挥调度,语音对讲方案

传统的视频会议指挥调度系统目前主流的互联网会议大部分都是私有协议&#xff0c;功能都很独立。目前主流的视频监控国标都最GB平台&#xff0c;新的需求要求融合平台要接入监控等设备&#xff0c;并能实现观看监控接入会议&#xff0c;实时语音设备指挥现场工作人员办公实施。…

一文1800字使用Jmeter进行http接口性能测试!

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 为什么要做接口测试&#xff1f; 越底层发现b…

搭建监控系统Prometheus + Grafana

公司有个技术分享会&#xff0c;但是业务忙&#xff0c;没时间精心准备&#xff0c;所以就匆匆忙忙准备分享一下搭建&#xff08;捂脸哭&#xff09;。技术含量确实不多&#xff0c;但是分享的知识确实没问题。 以下是搭建过程&#xff1a; 一、讲解 Prometheus Prometheus 最…

ArkTS中的自定义构建函数、Tab栏和组件状态共享

一、自定义构建函数 1.构建函数 Builder 1.1 介绍 文档地址&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builder-V5?catalogVersionV5 概念&#xff1a;ArkUI提供了一种轻量的UI元素复用机制Builder&#xff0c;可以将重复使用的U…

二维、三维情况下的锚点优选方法

多锚点定位时&#xff0c;锚点的选择对定位精度有重要影响。下面介绍基于误差最小化的锚点选择的相应公式和MATLAB代码示例&#xff0c;并进行详细分析 文章目录 方法描述代码MATLAB代码示例代码运行结果 总结 方法描述 选择能够最小化定位误差的锚点组合。通过计算锚点位置与…

CCF ChinaOSC |「开源科学计算与系统建模openSCS专题分论坛」11月9日与您相约深圳

2024年11月9日至10日&#xff0c;以“湾区聚力 开源启智”为主题的2024年中国计算机学会中国开源大会&#xff08;CCF ChinaOSC&#xff09;将在深圳召开。大会将汇聚国内外学术界、顶尖科技企业、科研机构及开源社区的精英力量&#xff0c;共同探索人工智能技术和人类智慧的无…

力扣102:二叉树的层次遍历

给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例 2&#xff1a; 输入&a…

数学建模模型算法-Python实现

一、评价决策类 1、层次分析法&#xff08;AHP&#xff09; 层次分析法用来评价或选择一个更好更优的决策或方案 通过找到可以衡量其好坏的指标&#xff0c;进而衡量指标&#xff0c;再形成评价体系 归一化处理 让指标在同一数量级&#xff0c;且保证在同一指标下其差距保持…

linux-vlan(1)

# VLAN # 1.topo # 2.创建命名空间 ip netns add ns1 ip netns add ns2 ip netns add ns3 # 3.创建veth设备 ip link add ns1-veth0 type veth peer name ns21-veth0 ip link add ns3-veth0 type veth peer name ns23-veth0 # 4.veth设备放入命名空间,启动接口 ip link set n…

spring cloud 入门笔记1(RestTemplate,Consul)

最大感受&#xff1a; spring cloud无非是将spring boot中的各个工作模块拆分成独立的小spring boot&#xff0c;各个模块之间&#xff0c;不再是通过导包什么的&#xff0c;调用而是通过网路进行各个模块之间的调用 工具一&#xff1a;RestTemplate 在Java代码中发送HTTP请…

FlinkSql读取kafka数据流的方法(scala)

我的scala版本为2.12 <scala.binary.version>2.12</scala.binary.version> 我的Flink版本为1.13.6 <flink.version>1.13.6</flink.version> FlinkSql读取kafka数据流需要如下依赖&#xff1a; <dependency><groupId>org.apache.flink&…

Docker 安装Immich教程

Immich 是一个开源的自托管照片和视频管理平台,专为帮助用户存储、管理、和分享个人媒体库而设计。Immich 的目标是提供一个类似 Google Photos 的替代方案,但不依赖于第三方服务,用户可以完全控制自己的数据。 本章教程,记录如何用Docker部署安装Immich,使用的操作系统的…

【CICD】CICD 持续集成与持续交付在测试中的应用

一、什么是CICD&#xff1f; CI/CD 是指持续集成&#xff08;Continuous Integration&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;或持续交付&#xff08;Continuous Delivery&#xff09; 1.1 持续集成&#xff08;Continuous Integration&#xf…

交友问题 | 动态规划

描述 如果有n个人&#xff0c;每个人都可以保持单身或与其他人结成一对。每个人只能找一个对象。求总共有多少种保持单身或结对的方式。用动态规划求解。 输入 输入第一行t表示测试用例的数量 对于每一个测试用例, 输入一个整数n表示人数1<n<18 输出 针对每个测试用…

Web开发:ABP框架6——appsetting.json的读取以及实例的注入

目录 一、模块配置服务 二、配置服务的编写&#xff08;配置ORM&#xff09; 三、高层代码的运用&#xff08;ORM实例查询 & 获取字符串&#xff09; 一、模块配置服务 BookStoreHttpApiHostModule 二、配置服务的编写&#xff08;配置ORM&#xff09; (以freesql为例子…

tomcat启动运行乱码,解决方案

tomcat启动运行乱码,解决方案 不要修改系统设置;我们是要让tomcat兼容我们系统,不是让系统兼容tomcat。不要修改系统设置;我们是要让tomcat兼容我们系统,不是让系统兼容tomcat。不要修改系统设置;我们是要让tomcat兼容我们系统,不是让系统兼容tomcat。解决方案 找到你的…

UE5材质篇 3 MaterialFunction

这个可以避免一部分的蜘蛛网&#xff0c;这样就用的时候很多蜘蛛网缩小成为一个节点 https://dev.epicgames.com/documentation/en-us/unreal-engine/creating-and-using-material-functions-in-unreal-engine 首先创建一个&#xff0c;这里这个名字他就是函数名&#xff0c;后…

linux命令详解,文件系统权限相关

文件系统权限相关 linux系统中一切都是文件 查看权限 Is -la /etc/passwd更改文件所有者 chown root file修改文件权限 sudo chmod urwx,grw,o-r file sudo chmod ux,gtw,o-r file chmod 400 <file>一、Linux系统中一切都是文件 在linux系统中&#xff0c;几乎所有的…