JavaScript中的Math对象方法、Date对象方法

在这里插入图片描述



个人主页:学习前端的小z

个人专栏:JavaScript 精粹

本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论!
在这里插入图片描述

文章目录

  • 🌟Math对象方法
    • 🍄1 Math静态属性
    • 🍄2 Math.abs()
    • 🍄3 Math.cos()
    • 🍄4 Math.sin()
    • 🍄5 Math.tan()
    • 🍄6 Math.max()
    • 🍄7 Math.min()
    • 🍄8 Math.pow()
    • 🍄9 Math.random()
    • 🍄10 Math.round()
    • 🍄11 Math.floor()
    • 🍄12 Math.ceil()
    • 🍄13 方法汇总
  • 🌟Date对象方法
    • 🍄1 获取日期的毫秒形式
    • 🍄2 日期格式化方法
    • 🍄3 获取日期指定部分
    • 🍄4 案例


在这里插入图片描述


🌟Math对象方法

Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供

跟数学相关的运算来找Math中的成员(求绝对值,取整)

🍄1 Math静态属性

Math.E  //属性表示自然对数的底数(或称为基数),e,约等于 2.718。
Math.LN10 //属性表示 10 的自然对数,约为 2.302:
Math.LN2 // 属性表示 2 的自然对数,约为 0.693:
Math.LOG10E //属性表示以 10 为底数,e 的对数,约为 0.434:
Math.LOG2E //属性表示以 2 为底数,e 的对数,约为 1.442:
Math.PI //表示一个圆的周长与直径的比例,约为 3.14159:
Math.SQRT1_2 // 属性表示 1/2 的平方根,约为 0.707:
Math.SQRT2 //属性表示 2 的平方根,约为 1.414:

🍄2 Math.abs()

函数返回指定数字 “x“ 的绝对值。如下:

Math.abs ⁡ ( x ) = ∣ x ∣ = { x if x ≥ 0 − x if x < 0 {\mathtt{\operatorname{Math.abs}(x)}} = {|x|} = \begin{cases} x & \text{if} \quad x \geq 0 \\ -x & \text{if} \quad x < 0 \end{cases} Math.abs(x)=x={xxifx0ifx<0

Math.abs(x);  //x为数值参数
//传入一个非数字形式的字符串或者 undefined/empty 变量,将返回 NaN。传入 null 将返回 0。Math.abs('-1');     // 1
Math.abs(-2);       // 2
Math.abs(null);     // 0
Math.abs("string"); // NaN
Math.abs();         // NaN

🍄3 Math.cos()

函数返回一个数值的余弦值。

x
一个以弧度为单位的数值。cos 方法返回一个 -11 之间的数值,表示角度(单位:弧度)的余弦值。由于 cos 是 Math 的静态方法,所以应该像这样使用:Math.cos(),而不是作为你创建的 Math 实例的方法。Math.cos(0);           // 1
Math.cos(1);           // 0.5403023058681398Math.cos(Math.PI);     // -1
Math.cos(2 * Math.PI); // 1

🍄4 Math.sin()

函数返回一个数值的正弦值。

x
一个数值(以弧度为单位)。
sin 方法返回一个 -11 之间的数值,表示给定角度(单位:弧度)的正弦值。由于 sin 是 Math 的静态方法,所以应该像这样使用:Math.sin(),而不是作为你创建的 Math 实例的方法。Math.sin(0);           // 0
Math.sin(1);           // 0.8414709848078965Math.sin(Math.PI / 2); // 1

🍄5 Math.tan()

方法返回一个数值的正切值。

Math.tan(x);
x
一个数值,表示一个角(单位:弧度)。
tan 方法返回一个数值,表示一个角的正切值。由于 tan 是 Math 的静态方法,所以应该像这样使用 Math.tan(),而不是作为你创建的 Math 实例的方法。Math.tan(1); 				 //1.5574077246549023

🍄6 Math.max()

函数返回一组数中的最大值。

console.log(Math.max(1, 3, 2));
// expected output: 3console.log(Math.max(-1, -3, -2));
// expected output: -1Math.max(value1[,value2, ...]) 参数
value1, value2, ...
一组数值

返回值

返回给定的一组数字中的最大值。如果给定的参数中至少有一个参数无法被转换成数字,则会返回 NaN

🍄7 Math.min()

函数返回一组数中的最大值。

console.log(Math.min(1, 3, 2));
// expected output: 1console.log(Math.min(-1, -3, -2));
// expected output: -3Math.min([value1[,value2, ...]]) 参数
value1, value2, ...
一组数值

返回值

给定数值中最小的数。如果任一参数不能转换为数值,则返回NaN

🍄8 Math.pow()

函数返回基数(base)的指数(exponent)次幂,即 baseexponent

console.log(Math.pow(7, 3));
// expected output: 343Math.pow(base, exponent) base
基数
exponent
指数

返回值

返回base的exponent次幂结果

🍄9 Math.random()

函数返回一个浮点, 伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。

function getRandomInt(max) {return Math.floor(Math.random() * Math.floor(max));
}console.log(getRandomInt(3));
// expected output: 0, 1 or 2console.log(getRandomInt(1));
// expected output: 0console.log(Math.random());
// expected output: a number between 0 and 1Math.random()

返回值

一个浮点型伪随机数字,在0(包括0)和1(不包括)之间。

🍄10 Math.round()

函数返回一个数字四舍五入后最接近的整数

Math.round(20.49) //20
Math.round(20.5) //21
Math.round(-20.5) //-20
Math.round(-20.51) //-21

返回值

四舍五入后的值

🍄11 Math.floor()

返回小于或等于一个给定数字的最大整数 : 向下取整

Math.floor(x);Math.floor( 45.95); 
// 45 
Math.floor( 45.05); 
// 45 
Math.floor( 4 ); 
// 4 
Math.floor(-45.05); 
// -46 
Math.floor(-45.95); 
// -46/* 与 ~~ 去除小数位有区别 */
~~(-45.95) //-45 

返回值

一个表示小于或等于指定数字的最大整数的数字。

🍄12 Math.ceil()

函数返回大于或等于一个给定数字的最小整数

Math.ceil(x);
console.log(Math.ceil(.95));
//  1console.log(Math.ceil(4));
//  4console.log(Math.ceil(7.004));
//  8console.log(Math.ceil(-7.004));
//  -7

返回值

大于或等于给定数字的最小整数。

🍄13 方法汇总

Math.PI						// 圆周率
Math.random()				// 生成随机数
Math.floor()/Math.ceil()	 // 向下取整/向上取整
Math.round()				// 取整,四舍五入
Math.abs()					// 绝对值
Math.max()/Math.min()		 // 求最大和最小值Math.sin()/Math.cos()		 // 正弦/余弦
Math.power()/Math.sqrt()	 // 求指数次幂/求平方根

在这里插入图片描述


🌟Date对象方法

创建 Date 实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。

// 获取当前时间,UTC世界时间,距1970年1月1日(世界标准时间)起的毫秒数
var now = new Date();
console.log(now.valueOf());	// 获取距1970年1月1日(世界标准时间)起的毫秒数Date构造函数的参数
1. 毫秒数 1498099000356		new Date(1498099000356)
2. 日期格式字符串  '2015-5-1'	 new Date('2015-5-1')
3. 年、月、日……				  new Date(2015, 4, 1)   // 月份从0开始

🍄1 获取日期的毫秒形式

var now = new Date();
// valueOf用于获取对象的原始值
console.log(date.valueOf())	// HTML5中提供的方法,有兼容性问题
var now = Date.now();	// 不支持HTML5的浏览器,可以用下面这种方式
var now = + new Date();			// 调用 Date对象的valueOf() 

🍄2 日期格式化方法

toString()		// 转换成字符串
valueOf()		// 获取毫秒值
// 下面格式化日期的方法,在不同浏览器可能表现不一致,一般不用
toDateString()
toTimeString()

🍄3 获取日期指定部分

getTime()  	  // 返回毫秒数和valueOf()结果一样,valueOf()内部调用的getTime()
getMilliseconds() 
getSeconds()  // 返回0-59
getMinutes()  // 返回0-59
getHours()    // 返回0-23
getDay()      // 返回星期几 0周日   6周6
getDate()     // 返回当前月的第几天
getMonth()    // 返回月份,***从0开始***
getFullYear() //返回4位的年份  如 2016

🍄4 案例

  • 写一个函数,格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
function formatDate(d) {//如果date不是日期对象,返回if (!date instanceof Date) {return;}var year = d.getFullYear(),month = d.getMonth() + 1,date = d.getDate(),hour = d.getHours(),minute = d.getMinutes(),second = d.getSeconds(),week = ['日', '一', '二', '三', '四', '五', '六'][d.getDay()]; // 1234560 => 一 二 三 四 五 六 七return year + '年' + padLeft(month) + '月' + padLeft(date) + '日 ' + padLeft(hour) + ':' + padLeft(minute) + ':' + padLeft(second) + ' 星期' + week;
}function padLeft(num){return String(num)[1] && String(num) || '0' + num;
}
  • 计算时间差,返回相差的天/时/分/秒
function getInterval(start, end) {var day, hour, minute, second, interval;interval = end - start;interval /= 1000;day = ~~(interval / 60 /60 / 24);hour = ~~(interval / 60 /60 % 24);minute = ~~(interval / 60 % 60);second = ~~(interval % 60);return {day: day,hour: hour,minute: minute,second: second}
}

在这里插入图片描述


参考 : http://bclary.com/log/2004/11/07/#a-11.9.3
在这里插入图片描述


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

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

相关文章

【c++】继承学习(一):继承机制与基类派生类转换

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们来学习继承部分 目录 1.继承的概念和定义继承的定义继承基类成员的访问方式变化 2.基类和派生类对象赋值转换3.继承中的作用域 1.继承的概念和定义 …

Costas-Barker序列模糊函数仿真

文章目录 前言一、Costas 序列二、Barker 码三、Costas-Barker 序列模糊函数仿真1、MATLAB 核心代码2、仿真结果①、Costas-Barker 模糊函数图②、Costas-Barker 距离模糊函数图③、Costas-Barker 速度模糊函数图 四、资源自取 前言 Costas 码是一种用于载波同步的频率调制序列…

基于Ollama+AnythingLLM轻松打造本地大模型知识库

随着人工智能技术的快速发展&#xff0c;大型语言模型&#xff08;LLM&#xff09;已成为自然语言处理领域的重要工具。然而&#xff0c;这些模型的运行通常需要大量的计算资源和复杂的部署流程。为了解决这个问题&#xff0c;Ollama应运而生&#xff0c;成为了一个高效的本地大…

学浪的缓存怎么导出来

学浪的缓存导出问题困扰着许多用户&#xff0c;备份和管理数据变得至关重要。在数字化时代&#xff0c;保护和利用数据是企业和个人不可或缺的需求。在这篇文章中&#xff0c;我们将深入探讨学浪缓存导出的方法&#xff0c;为您解决疑惑&#xff0c;让您轻松掌握数据的安全与便…

237基于matlab的偏振态仿真

基于matlab的偏振态仿真&#xff0c;不同偏振态下光强计算。本仿真软件可以仿真波片对偏振光的相位调制过程。用户可以通过改变波片的类型&#xff0c;波片长轴与 X 轴的夹角&#xff0c;起偏器透光与 X 轴的夹角&#xff0c;检偏器透光轴与 X 轴的夹角等参数&#xff0c;来观察…

毫米波雷达原理(含代码)(含ARS548 4D毫米波雷达数据demo和可视化视频)

毫米波雷达原理 1. 传统毫米波雷达1.1 雷达工作原理1.2 单目标距离估计1.3 单目标速度估计1.4 单目标角度估计1.5 多目标距离估计1.6 多目标速度估计1.7多目标角度估计1.7 总结 3. FMCW雷达数据处理算法4. 毫米波雷达的目标解析(含python代码)5. ARS548 4D毫米波雷达数据demo(含…

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …

GPU虚拟化和算力隔离探讨

1. 术语介绍 术语 全称 说明 GPU Graphics Processing Unit 显卡 CUDA Compute Unified Device Architecture 英伟达2006年推出的计算API VT/VT-x/VT-d Intel Virtualization Technology -x表示x86 CPU&#xff0c;-d表示Device SVM AMD Secure Virtual Machine …

RabbitMQ入门教学(浅入浅出)

进程间通信 互联网的通讯时网络的基础&#xff0c;一般情况下互联网的资源数据对储存在中心服务器上&#xff0c;一般情况下个体对个体的访问仅限于局域网下&#xff0c;在公网即可完成资源的访问&#xff0c;如各种网站资源&#xff0c;下载资源&#xff0c;种子等。网络通讯…

小程序地理位置接口开通90%小白都避不开的误区

小程序地理位置接口有什么功能&#xff1f; 目前小程序的地理位置接口已经调整为审核制了&#xff0c;也就是说我们开发者如果小程序需要用到getlocation等接口的话&#xff0c;需要先在小程序后台进行开通申请&#xff0c;提交相关证明材料才可以获得接口使用权限。 小程序地理…

GPT-1

GPT 系列是 OpenAI 的一系列预训练模型&#xff0c;GPT 的全称是 Generative Pre-Trained Transformer&#xff0c;顾名思义&#xff0c;GPT 的目标是通过 Transformer&#xff0c;使用预训练技术得到通用的语言模型。目前已经公布论文的有 GPT-1、GPT-2、GPT-3。 最近非常火的…

Go协程的底层原理(图文详解)

为什么要有协程 什么是进程 操作系统“程序”的最小单位进程用来占用内存空间进程相当于厂房&#xff0c;占用工厂空间 什么是线程 进程如果比作厂房&#xff0c;线程就是厂房里面的生产线&#xff1a; 每个进程可以有多个线程线程使用系统分配给进程的内存&#xff0c;线…

【linux-汇编-点灯之思路-程序】

目录 1. ARM汇编中的一些注意事项2. IMXULL汇编点灯的前序&#xff1a;3. IMXULL汇编点灯之确定引脚&#xff1a;4. IMXULL汇编点灯之引脚功能编写&#xff1a;4.1 第一步&#xff0c;开时钟4.2 第二步&#xff0c;定功能&#xff08;MUX&#xff09;4.3 第三步&#xff0c;定电…

服务器遭受攻击后的黑洞状态应对策略及防护机制解析

引言 在网络安全领域中&#xff0c;当服务器遭受大规模DDoS攻击或其他恶意流量冲击时&#xff0c;为了保护服务的稳定性和其他正常用户的使用体验&#xff0c;往往会采取一种紧急防护手段——将服务器置于黑洞状态。所谓黑洞状态&#xff0c;即网络服务商暂时屏蔽掉对服务器的…

“中国汉字”的英语表达|柯桥考级英语生活英语商务口语培训

汉字&#xff0c;又称中文字、中国字、方块字。汉字是表意文字&#xff0c;一个汉字通常表示汉语里的一个词或一个语素&#xff0c;这就形成了音、形、义统一的特点。 我们通常用“Chinese character”表示“汉字”而不用“Chinese word”. &#x1f534; 例句&#xff1a; C…

QT:信号和槽

文章目录 信号和槽connect函数槽自定义槽第一种第二种 信号和槽 这里的信号和Linux的信号一样吗&#xff1f; 答案是差不多&#xff0c;但是也有一定的区别&#xff0c;而且也是两个不同的概念 信号有三个概念&#xff0c;一个是信号源&#xff0c;这个信号是由谁发送的&…

信息管理与信息系统就业方向及前景分析

信息管理与信息系统(IMIS)专业的就业方向十分广泛&#xff0c;包含计算机方向、企业信息化管理、数据处理和数据分析等&#xff0c;随着大数据、云计算、人工智能、物联网等技术的兴起&#xff0c;对能够处理复杂信息系统的专业人才需求激增&#xff0c;信息管理与信息系统就业…

Storm 技术揭秘:掌握实时大数据处理的终极神器!

Storm 是一个开源的分布式实时计算系统&#xff0c;由 Twitter 公司开发并贡献给 Apache 基金会。它可以处理大量的数据流&#xff0c;进行实时的数据挖掘、数据分析和数据可视化等任务。Storm 具有高容错性、可扩展性和低延迟的特点&#xff0c;适用于需要快速响应的场景&…

15、ESP32 Wifi

ESP32 的 WIFI 功能是模块内置的&#xff0c;通过 ESP32 的基础库调用一些函数就可以轻松使用它。 Wifi STA 模式&#xff1a; 让 ESP32 连接附近 WIFI&#xff0c;可以上网访问数据。 // 代码显示搜索连接附近指定的 WIFI // 通过 pin 按键可断开连接#include <WiFi.h>…

纯血鸿蒙APP实战开发——主页瀑布流实现

介绍 本示例介绍使用ArkUIWaterFlow组件和LazyForEach实现瀑布流场景。该场景多用于购物、资讯类应用。 效果图预览 使用说明 加载完成后显示整个列表&#xff0c;超过一屏时可以上下滑动。 实现思路 创建WaterFlowDataSource类&#xff0c;实现IDataSource接口的对象&…