一、JavaScript Math对象
1.Math.round():返回值是 x 四舍五入为最接近的整数
Math.round(6.8); // 返回 7
Math.round(2.3); // 返回 2
2.Math.pow():返回值是x的y次幂
Math.pow(8, 2); // 返回 64
3.Math.sqrt():返回x的平方根
Math.sqrt(64); // 返回 8
4.Math.abs():返回x的绝对(正)值
Math.abs(-4.7); // 返回 4.7
5.Math.ceil():返回值是x上舍入最接近的整数
Math.ceil(6.4); // 返回 7
6.Math.floor():返回值是x下舍入最接近的整数
Math.floor(2.7); // 返回 2
7.Math.sin():返回角x(以弧度计)的正弦(介于 -1 与 1 之间的值)。
如果您希望使用角度替代弧度,则需要将角度转换为弧度:x PI / 180.
Math.sin(90 * Math.PI / 180); // 返回 1(90 度的正弦)
8.Math.cos():返回角x(以弧度计)的余弦(介于 -1 与 1 之间的值)。
如果您希望使用角度替代弧度,则需要将角度转换为弧度:x PI / 180.
Math.cos(0 * Math.PI / 180); // 返回 1(0 度的余弦)
9.Math.min() 和 Math.max()
Math.min() 和 Math.max() 可用于查找参数列表中的最低或最高值:
Math.min(0, 450, 35, 10, -8, -300, -78); // 返回 -300
Math.max(0, 450, 35, 10, -8, -300, -78); // 返回 450
10.Math.random()
(1)返回介于 0(包括) 与 1(不包括) 之间的随机小数
Math.random();
(2)随机整数:Math.random() 与 Math.floor() 一起使用用于返回随机整数。
①Math.floor(Math.random() * 10); // 返回 0 至 9 之间的数
②Math.floor(Math.random() * 11); // 返回 0 至 10 之间的数
③Math.floor(Math.random() * 100); // 返回 0 至 99 之间的数
④Math.floor(Math.random() * 101); // 返回 0 至 100 之间的数
⑤Math.floor(Math.random() * 10) + 1; // 返回 1 至 10 之间的数
⑥Math.floor(Math.random() * 100) + 1; // 返回 1 至 100 之间的数
(3)一个适当的随机函数
①返回介于 min(包括)和 max(不包括)之间的随机数
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min) ) + min;
}
②返回介于 min 和 max(都包括)之间的随机数
function getRndInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1) ) + min;
}
11.Math 属性(常量)
JavaScript 提供了可由 Math 对象访问的 8 个数学常量:
Math.E // 返回欧拉指数(Euler's number)
Math.PI // 返回圆周率(PI)
Math.SQRT2 // 返回 2 的平方根
Math.SQRT1_2 // 返回 1/2 的平方根
Math.LN2 // 返回 2 的自然对数
Math.LN10 // 返回 10 的自然对数
Math.LOG2E // 返回以 2 为底的 e 的对数(约等于 1.414)
Math.LOG10E // 返回以 10 为底的 e 的对数(约等于0.434)
方法 | 描述 |
---|---|
abs(x) | 返回 x 的绝对值 |
acos(x) | 返回 x 的反余弦值,以弧度计 |
asin(x) | 返回 x 的反正弦值,以弧度计 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度 |
ceil(x) | 对 x 进行上舍入 |
cos(x) | 返回 x 的余弦 |
exp(x) | 返回 Ex 的值 |
floor(x) | 对 x 进行下舍入 |
log(x) | 返回 x 的自然对数(底为e) |
max(x,y,z,...,n) | 返回最高值 |
min(x,y,z,...,n) | 返回最低值 |
pow(x,y) | 返回 x 的 y 次幂 |
random() | 返回 0 ~ 1 之间的随机数 |
round(x) | 把 x 四舍五入为最接近的整数 |
sin(x) | 返回 x(x 以角度计)的正弦 |
sqrt(x) | 返回 x 的平方根 |
tan(x) | 返回角的正切 |
二、JavaScript逻辑
1.Boolean()函数
使用Boolean()函数来确定表达式(或变量)是否为真
Boolean(10 > 9) // 返回 true
2.比较和条件
JS比较这一章列出了完整的比较运算符。JS 条件这一章列出了完整的条件语句。
(1)常见运算符
运算符 描述 实例
== 等于 if (day == "Monday")
> 大于 if (salary > 9000)
< 小于 if (age < 18)
表达式的布尔值是JavaScript比较和条件的基础。
(2)所有具有“真实”值的即为True,如1;
(3)所有不具有“真实”值的即为 False,如0;
var x = 0;
Boolean(x); // 返回false
(4)-0 (负零)的布尔值为false:
var x = -0;
Boolean(x); // 返回false
(5)""(空值)的布尔值为false:
var x = "";
Boolean(x); // 返回 false
(6)undefined 的布尔值是 false:
var x;
Boolean(x); // 返回 false
(7)null 的布尔值是 false:
var x = null;
Boolean(x); // 返回 false
(8)false 的布尔值(正如您猜到的)是 false:
var x = false;
Boolean(x); // 返回 false
(9)NaN 的布尔值是 false:
var x = 10 / "H";
Boolean(x); // 返回 false
3.布尔可以是对象
通常JavaScript布尔是由字面量创建的原始值
var x = false
但是布尔也可以通过关键词new作为对象来定义:
var y = new Boolean(false)
var x = false;
var y = new Boolean(false);
// typeof x 返回 boolean
// typeof y 返回 object
不要创建布尔对象。它会拖慢执行速度。new关键词会使代码复杂化,并产生某些意想不到的结果
当使用 == 运算符时,相等的布尔是相等的:
var x = false;
var y = new Boolean(false);
// (x == y) 为 true,因为 x 和 y 拥有相等的值
当使用 === 运算符时,相等的布尔是不相等的,因为 === 运算符需要在类型和值两方面同时相等。
三、JavaScript比较和逻辑运算符
比较和逻辑运算符用于测试true或false。
1.比较运算符
运算符 | 描述 | 比较 | 返回 | |
---|---|---|---|---|
== | 等于 | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | 值相等并且类型相等 | x === 5 | true | |
x === "5" | false | |||
!= | 不相等 | x != 8 | true | |
!== | 值不相等或类型不相等 | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | 大于 | x > 8 | false | |
< | 小于 | x < 8 | true | |
>= | 大于或等于 | x >= 8 | false | 试一试 |
<= | 小于或等于 | x <= 8 | true | 试一试 |
2.逻辑运算符
运算符 | 描述 | 例子 | |
---|---|---|---|
&& | 与 | (x < 10 && y > 1) 为 true | |
|| | 或 | (x == 5 || y == 5) 为 false | |
! | 非 | !(x == y) 为 true |
3.条件(三元)运算符
JavaScript也包含了可基于某些条件向变量赋值的条件运算符。variablename = (condition) ? value1:value2
var voteable = (age < 18) ? "太年轻":"足够成熟";
如果变量age的值小于18,变量voteable 的值将是 "太年轻",否则变量voteable的值将是 "足够成熟"。