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

embedded/2024/9/23 9:28:33/

在这里插入图片描述



个人主页:学习前端的小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

javascript">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()

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

javascript">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()

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

javascript">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()

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

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

🍄6 Math.max()

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

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

返回值

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

🍄7 Math.min()

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

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

返回值

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

🍄8 Math.pow()

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

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

返回值

javascript">返回base的exponent次幂结果

🍄9 Math.random()

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

javascript">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()

返回值

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

🍄10 Math.round()

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

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

返回值

javascript">四舍五入后的值

🍄11 Math.floor()

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

javascript">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 

返回值

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

🍄12 Math.ceil()

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

javascript">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

返回值

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

🍄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日(世界标准时间)起的毫秒数。

javascript">// 获取当前时间,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 获取日期的毫秒形式

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

🍄2 日期格式化方法

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

🍄3 获取日期指定部分

javascript">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的形式
javascript">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;
}
  • 计算时间差,返回相差的天/时/分/秒
javascript">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.ppmy.cn/embedded/30295.html

相关文章

Go语言基本语法(五)标识符、关键字、操作符、分隔符和字面量

在Go语言中&#xff0c;程序的基本构建块包括标识符、关键字、操作符、分隔符和字面量&#xff0c;它们共同构成了Go语言的语法基础。以下是这些元素的详细介绍&#xff1a; 标识符&#xff08;Identifier&#xff09; Go语言中的标识符是用来命名程序元素&#xff08;如变量…

【计算机毕业设计】基于SSM++jsp的社区管理与服务系统【源码+lw+部署文档+讲解】

目录 摘 要 Abstract 第一章 绪论 第二章 系统关键技术 第三章 系统分析 3.1.1技术可行性 3.1.2经济可行性 3.1.3运行可行性 3.1.4法律可行性 3.4.1注册流程 3.4.2登录流程 3.4.3活动报名流程 第四章 系统设计 4.3.1登录模块顺序图 4.3.2添加信息模块顺序图 4.4.1 数据库E-…

C#核心之面向对象-封装

面向对象-封装 文章目录 1、类和对象1、什么是类2、类的声明3、类声明语法4、类声明实例5、对象(类)6、实例化对象语法7、实例化对象 2、成员变量和访问修饰符1、成员变量2、访问修饰符3、成员变量的使用和初始值 3、成员方法1、成员方法声明2、成员方法的使用 4、构造函数和…

贪心算法在Python、JavaScript、Java、C++和C#中的多样化实现及其在钱币找零、分数骑士、活动选择、最小生成树与哈夫曼编码问题中的应用示例

贪心算法是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法策略。贪心算法在有最优子结构的问题中尤为有效。下面我将提供5种不同编程语言实现的贪心算法示例&#xff0c;包括活动选…

linux(ubuntu18.04.2) Qt编译 MySQL(8.0以上版本)链接库 Qt版本 5.12.12及以上 包含Mysql动态库缺失问题

整理这篇文档的意义在于&#xff1a;自己走了很多弯路&#xff0c;淋过雨所以想为别人撑伞&#xff0c;也方便回顾&#xff0c;仅供参考 一、搭建开发环境&#xff1a; 虚拟机&#xff08;ubuntu-20.04.6-desktop-amd64&#xff09;&#xff1a;Mysql数据库 8.0.36Workbench …

【Linux驱动层】iTOP-RK3568学习之路(六):定时器

一、函数定义 Linux 内核中使用 timer_list 结构体表示内核定时器&#xff1a; struct timer_list {struct hlist_node entry;unsigned long expires; /* 定时器超时时间&#xff0c;单位是节拍数 */void (*function)(struct timer_list *); /* 定时处理函数 */u32 flags;…

挑战一周完成Vue3项目Day4: 用户管理+角色管理+菜单管理+首页+暗黑模式/主题切换

一、用户管理 1.静态搭建 src/views/acl/user/index.vue <template><el-card style"height:80px;"><el-form :inline"true" class"form"><el-form-item label"用户名&#xff1a;"><el-input placehold…

如何在前端展示后端返回的pdf Base64格式字符串

文章目录 如何在前端展示后端返回的pdf Base64格式字符串 如何在前端展示后端返回的pdf Base64格式字符串 // fileBase64 就是后端返回的 pdf Base64格式字符串getPdfDocument(fileBase64) {let fileBlob this.base64ToBlobsdf(fileBase64,application/pdf);let basePdfUrl …