加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

ES6+ Math 对象的扩展运用

发布时间:2023-03-24 08:51:08 所属栏目:教程 来源:
导读:在编程中遇到数学问题时一般会借助 Math 这个 JavaScript 的内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象,它主要用于 Number 类型。

与其他全局对象不同的是,Math 不是一个构造器。
在编程中遇到数学问题时一般会借助 Math 这个 JavaScript 的内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象,它主要用于 Number 类型。

与其他全局对象不同的是,Math 不是一个构造器。Math 的所有属性与方法都是静态的。比如:

圆周率的写法是 Math.PI,
调用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。
Math 的常量是使用 JavaScript 中的全精度浮点数来定义的。本节我们主要学习,ES6 对 Math 对象的扩展。

Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分,是一个取整操作。

Math 中还有三个方法: Math.floor()、Math.ceil()、Math.round() ,也是用于取整操作的,但是他们有一定逻辑的:

Math.floor() 向下取整;
Math.ceil() 向上取整;
Math.round() 进行四舍五入操作。
相比之下 Math.trunc() 的执行逻辑就很简单,仅仅是删除掉数字的小数部分和小数点,不管参数是正数还是负数。

使用语法:

Math.trunc(value)
参数说明:

参数    描述
value    可以是任意数字,如果是非数值则会被隐式转换为数字类型
实例

基本实例:

Math.trunc() // 5
Math.trunc() // 5
Math.trunc(-) // -5
Math.trunc(-) // -5
Math.trunc(-) // -0
上面的代码中,第 5 行虽然结果是 0 但是 0 前面的负号还会被保留。

传入该方法的参数会被隐式转换成数字类型,也就是对于非数值,Math.trunc() 内部使用 Number() 方法将其先转为数值。

Math.trunc('123.456') // 123
Math.trunc(true) //1
Math.trunc(false) // 0
Math.trunc(null) // 0
对于空值和无法截取整数的值,返回 NaN。

Math.trunc(); // NaN
Math.trunc('imooc'); // NaN
Math.trunc(undefined) // NaN
Math.trunc(); // NaN

Math.sign() 方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

使用语法:

Math.sign(value)
参数说明:

参数    描述
value    可以是任意数字,如果是非数值则会被隐式转换为数字类型
Math.sign() 会返回五种值。

参数为正数,返回 + 1;
参数为负数,返回 - 1;
参数为 0,返回 0;
参数为 - 0,返回 - 0;
其他值,返回 NaN。
实例

Math.sign(); // 1
Math.sign(-); // -1
Math.sign("-7.5"); // -1
Math.sign(); // 0
Math.sign(-); // -0
对应 -0 转换后的结果会保留负号,如果参数是非数值,会自动转为数值。对于那些无法转换为数值的值,会返回 NaN。

Math.sign(); // NaN
Math.sign("foo"); // NaN
Math.sign(); // NaN

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章