JavaScript数字对象与数学对象|Number|Math

数字对象(Number)

JavaScript 数字对象主要涉及到 Number 对象,它提供了处理和操作数值的多种方法和属性。
在 JavaScript 中,数值类型(number)是原始类型。

数字常量属性

内置的 Number 对象有一些有关数字的常量属性,如最大值、不是一个数字和无穷大的。

  • Number.MAX_VALUE: JavaScript 能表示的最大数值。
  • Number.MIN_VALUE: JavaScript 能表示的最小正数。
  • Number.POSITIVE_INFINITY: 正无穷大。
  • Number.NEGATIVE_INFINITY: 负无穷大。
  • Number.NaN: 表示 “不是一个数字”(Not-a-Number)。
console.log(Number.MAX_VALUE); // 输出: 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 输出: 5e-324
console.log(Number.POSITIVE_INFINITY); // 输出: Infinity
console.log(Number.NEGATIVE_INFINITY); // 输出: -Infinity
console.log(Number.NaN); // 输出: NaN

数字静态方法

Number 对象提供了一些静态方法,用于数值的处理和转换:

  1. **Number.isFinite(value)**

判断一个值是否是有限数值。

console.log(Number.isFinite(123)); // 输出: true
console.log(Number.isFinite(Infinity)); // 输出: false
console.log(Number.isFinite(NaN)); // 输出: false
  1. **Number.isInteger(value)**

判断一个值是否是整数。

console.log(Number.isInteger(123)); // 输出: true
console.log(Number.isInteger(123.45)); // 输出: false
  1. **Number.isNaN(value)**

判断一个值是否是 NaN

console.log(Number.isNaN(NaN)); // 输出: true
console.log(Number.isNaN(123)); // 输出: false
  1. **Number.isSafeInteger(value)**

判断一个值是否是一个安全整数(安全整数是指在 JavaScript 中能安全表示的范围内的整数)。

console.log(Number.isSafeInteger(123)); // 输出: true
console.log(Number.isSafeInteger(Math.pow(2, 53))); // 输出: false
  1. **Number.parseFloat(string)**

将字符串解析为浮点数。

console.log(Number.parseFloat("123.45")); // 输出: 123.45
console.log(Number.parseFloat("123abc")); // 输出: 123
  1. **Number.parseInt(string, [radix])**

将字符串解析为整数,第二个参数可以指定基数。

console.log(Number.parseInt("123")); // 输出: 123
console.log(Number.parseInt("111", 2)); // 输出: 7 (二进制转换为十进制)

数字实例方法

Number 对象还提供了用于实例的方法:

  1. **toFixed(digits)**

将数字格式化为指定小数位数的字符串。

const num = 123.456;
console.log(num.toFixed(2)); // 输出: "123.46"
  1. **toExponential(digits)**

将数字格式化为指数计数法表示的字符串,并指定小数位数。

console.log(num.toExponential(2)); // 输出: "1.23e+2"
  1. **toPrecision(digits)**

将数字格式化为指定长度的字符串。

console.log(num.toPrecision(4)); // 输出: "123.5"
  1. **toString([radix])**

将数字转换为指定基数的字符串。

const num2 = 255;
console.log(num2.toString(2)); // 输出: "11111111" (二进制)
console.log(num2.toString(16)); // 输出: "ff" (十六进制)

数学对象(Math)

JavaScript 的 Math 对象提供了一组用于执行数学运算的属性和方法。Math 对象不需要实例化,可以直接调用其中的属性和方法(不能够创建Math 对象)。

常量

Math 对象包含一些常用的数学常量:

  • Math.PI: 圆周率 (π),约为 3.14159。
  • Math.E: 自然对数的底数 (e),约为 2.718。
  • Math.LN2: 2 的自然对数,约为 0.693。
  • Math.LN10: 10 的自然对数,约为 2.302。
  • Math.LOG2E: 以 2 为底的 e 的对数,约为 1.442。
  • Math.LOG10E: 以 10 为底的 e 的对数,约为 0.434。
  • Math.SQRT1_2: 1/2 的平方根,约为 0.707。
  • Math.SQRT2: 2 的平方根,约为 1.414。

方法

Math 对象提供了许多静态方法,用于各种数学运算。以下是一些常用的方法:

方法描述
abs()绝对值
sin(), cos(), tan()标准三角函数;参数为弧度
asin(), acos(), atan(), atan2()反三角函数; 返回值为弧度
sinh(), cosh(), tanh()双曲三角函数; 参数为弧度。
asinh(), acosh(), atanh()反双曲三角函数;返回值为弧度。
pow(), exp(), expm1(), log10(), log1p(), log2()指数与对数函数
floor(), ceil()返回小于等于参数的最大整数;返回大于等于参数的最小整数
min(), max()返回一个以逗号间隔的数字参数列表中的较小或较大值 (分别地)
random()返回 0 和 1 之间的随机数。
round(), fround(), trunc()四舍五入和截断函数
sqrt(), cbrt(), hypot()平方根,立方根,所有参数平方和的平方根两个参数平方和的平方根
sign()数字的符号,说明数字是否为正、负、零。
clz32(), imul()在 32 位 2 进制表示中,开头的 0 的数量。返回传入的两个参数相乘结果的类 C 的 32 位表现形式

综合实例:

const num = -5;
console.log('绝对值:', Math.abs(num)); // 输出: 5

const numbers = [1, 2, 3, 4, 5];
console.log('最大值:', Math.max(...numbers)); // 输出: 5
console.log('最小值:', Math.min(...numbers)); // 输出: 1

console.log('2 的 3 次幂:', Math.pow(2, 3)); // 输出: 8
console.log('16 的平方根:', Math.sqrt(16)); // 输出: 4

const floatNum = 4.7;
console.log('向上取整:', Math.ceil(floatNum)); // 输出: 5
console.log('向下取整:', Math.floor(floatNum)); // 输出: 4
console.log('四舍五入:', Math.round(floatNum)); // 输出: 5
console.log('去掉小数部分:', Math.trunc(floatNum)); // 输出: 4

const radians = Math.PI / 2;
console.log('正弦值:', Math.sin(radians)); // 输出: 1
console.log('余弦值:', Math.cos(Math.PI)); // 输出: -1
console.log('正切值:', Math.tan(Math.PI / 4)); // 输出: 1

console.log('e 的 1 次幂:', Math.exp(1)); // 输出: 2.718281828459045
console.log('自然对数:', Math.log(Math.E)); // 输出: 1
console.log('以 10 为底的对数:', Math.log10(100)); // 输出: 2

console.log('随机数:', Math.random()); // 输出: 例如 0.123456789

参考资料:
Math - JavaScript | MDN
数字和日期 - JavaScript | MDN

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值