javascript 判断为负数_【JavaScript 教程】标准库—Math 对象

31dc18ce247e788299f1f3f8f7e9c7ba.png

作者 | 阮一峰

Math是 JavaScript 的原生对象,提供各种数学功能。该对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用。

1、静态属性

Math对象的静态属性,提供以下一些数学常数。

  • Math.E:常数e

  • Math.LN2:2 的自然对数。

  • Math.LN10:10 的自然对数。

  • Math.LOG2E:以 2 为底的e的对数。

  • Math.LOG10E:以 10 为底的e的对数。

  • Math.PI:常数π

  • Math.SQRT1_2:0.5 的平方根。

  • Math.SQRT2:2 的平方根。

Math.E // 2.718281828459045Math.LN2 // 0.6931471805599453Math.LN10 // 2.302585092994046Math.LOG2E // 1.4426950408889634Math.LOG10E // 0.4342944819032518Math.PI // 3.141592653589793Math.SQRT1_2 // 0.7071067811865476Math.SQRT2 // 1.4142135623730951

这些属性都是只读的,不能修改。

2、静态方法

Math对象提供以下一些静态方法。

  • Math.abs():绝对值

  • Math.ceil():向上取整

  • Math.floor():向下取整

  • Math.max():最大值

  • Math.min():最小值

  • Math.pow():指数运算

  • Math.sqrt():平方根

  • Math.log():自然对数

  • Math.exp()e的指数

  • Math.round():四舍五入

  • Math.random():随机数

2.1、Math.abs()

Math.abs方法返回参数值的绝对值。

Math.abs(1) // 1Math.abs(-1) // 1

2.2、Math.max(),Math.min()

Math.max方法返回参数之中最大的那个值,Math.min返回最小的那个值。如果参数为空, Math.min返回InfinityMath.max返回-Infinity

Math.max(2, -1, 5) // 5Math.min(2, -1, 5) // -1Math.min() // InfinityMath.max() // -Infinity

2.3、Math.floor(),Math.ceil()

Math.floor方法返回小于参数值的最大整数(地板值)。

Math.floor(3.2) // 3Math.floor(-3.2) // -4

Math.ceil方法返回大于参数值的最小整数(天花板值)。

Math.ceil(3.2) // 4Math.ceil(-3.2) // -3

这两个方法可以结合起来,实现一个总是返回数值的整数部分的函数。

function ToInteger(x) {
x = Number(x);return x < 0 ? Math.ceil(x) : Math.floor(x);
}
ToInteger(3.2) // 3
ToInteger(3.5) // 3
ToInteger(3.8) // 3
ToInteger(-3.2) // -3
ToInteger(-3.5) // -3
ToInteger(-3.8) // -3

上面代码中,不管正数或负数,ToInteger函数总是返回一个数值的整数部分。

2.4、Math.round()

Math.round方法用于四舍五入。

Math.round(0.1) // 0Math.round(0.5) // 1Math.round(0.6) // 1// 等同于Math.floor(x + 0.5)

注意,它对负数的处理(主要是对0.5的处理)。

Math.round(-1.1) // -1Math.round(-1.5) // -1Math.round(-1.6) // -2

2.5、Math.pow()

Math.pow方法返回以第一个参数为底数、第二个参数为幂的指数值。

// 等同于 2 ** 2Math.pow(2, 2) // 4// 等同于 2 ** 3Math.pow(2, 3) // 8

下面是计算圆面积的方法。

var radius = 20;var area = Math.PI * Math.pow(radius, 2);

2.6、Math.sqrt()

Math.sqrt方法返回参数值的平方根。如果参数是一个负值,则返回NaN

Math.sqrt(4) // 2Math.sqrt(-4) // NaN

2.7、Math.log()

Math.log方法返回以e为底的自然对数值。

Math.log(Math.E) // 1Math.log(10) // 2.302585092994046

如果要计算以10为底的对数,可以先用Math.log求出自然对数,然后除以Math.LN10;求以2为底的对数,可以除以Math.LN2

Math.log(100)/Math.LN10 // 2Math.log(8)/Math.LN2 // 3

2.8、Math.exp()

Math.exp方法返回常数e的参数次方。

Math.exp(1) // 2.718281828459045Math.exp(3) // 20.085536923187668

2.9、Math.random()

Math.random()返回0到1之间的一个伪随机数,可能等于0,但是一定小于1。

Math.random() // 0.7151307314634323

任意范围的随机数生成函数如下。

function getRandomArbitrary(min, max) {return Math.random() * (max - min) + min;
}
getRandomArbitrary(1.5, 6.5)// 2.4942810038223864

任意范围的随机整数生成函数如下。

function getRandomInt(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;
}
getRandomInt(1, 6) // 5

返回随机字符的例子如下。

function random_str(length) {var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
ALPHABET += 'abcdefghijklmnopqrstuvwxyz';
ALPHABET += '0123456789-_';var str = '';for (var i = 0; i < length; ++i) {var rand = Math.floor(Math.random() * ALPHABET.length);
str += ALPHABET.substring(rand, rand + 1);
}return str;
}
random_str(6) // "NdQKOr"

上面代码中,random_str函数接受一个整数作为参数,返回变量ALPHABET内的随机字符所组成的指定长度的字符串。

2.10、三角函数方法

Math对象还提供一系列三角函数方法。

  • Math.sin():返回参数的正弦(参数为弧度值)

  • Math.cos():返回参数的余弦(参数为弧度值)

  • Math.tan():返回参数的正切(参数为弧度值)

  • Math.asin():返回参数的反正弦(返回值为弧度值)

  • Math.acos():返回参数的反余弦(返回值为弧度值)

  • Math.atan():返回参数的反正切(返回值为弧度值)

Math.sin(0) // 0Math.cos(0) // 1Math.tan(0) // 0Math.sin(Math.PI / 2) // 1Math.asin(1) // 1.5707963267948966Math.acos(1) // 0Math.atan(1) // 0.7853981633974483

本章节完

推荐阅读系列章节

【JavaScript 教程】入门篇-导论

【JavaScript 教程】入门篇-JavaScript 语言的历史

【JavaScript 教程】入门篇-JavaScript 的基本语法

【JavaScript 教程】数据类型-概述

【JavaScript 教程】数据类型-null, undefined 和布尔值

【JavaScript 教程】数据类型-数值

【JavaScript 教程】数据类型-字符串

【JavaScript 教程】数据类型-对象

【JavaScript 教程】数据类型-函数

【JavaScript 教程】数据类型-数组

【JavaScript 教程】运算符—算术运算符

【JavaScript 教程】运算符—比较运算符

【JavaScript 教程】运算符—布尔运算符

【JavaScript 教程】运算符—二进制位运算符

【JavaScript 教程】运算符—其他运算符,运算顺序

【JavaScript 教程】语法专题—数据类型的转换

【JavaScript 教程】语法专题—错误处理机制

【JavaScript 教程】语法专题—编程风格

【JavaScript 教程】语法专题—console 对象与控制台

【JavaScript 教程】标准库—Object 对象

【JavaScript 教程】标准库—属性描述对象

【JavaScript 教程】标准库—Array 对象

【JavaScript 教程】标准库—包装对象

【JavaScript 教程】标准库—Boolean 对象

【JavaScript 教程】标准库—Number 对象

【JavaScript 教程】标准库—String 对象

ed8429d96eca317495ce1e069099c7d0.png

56d4a3be4bfa932cb1170fe0fbb25c0d.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值