一.内置对象
数学对象Math,内置一些数学运算方法。
Math对象方法
方法 | 描述 |
---|---|
abs(x) | 返回 x 的绝对值。 |
acos(x) | 返回 x 的反余弦值。 |
asin(x) | 返回 x 的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 Ex 的指数。 |
floor(x) | 对 x 进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y,z,...,n) | 返回 x,y,z,...,n 中的最高值。 |
min(x,y,z,...,n) | 返回 x,y,z,...,n中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 四舍五入。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
tanh(x) | 返回一个数的双曲正切函数值。 |
trunc(x) | 将数字的小数部分去掉,只保留整数部分。 |
Math对象属性
属性 | 描述 |
---|---|
E | 返回算术常量 e,即自然对数的底数(约等于2.718)。 |
LN2 | 返回 2 的自然对数(约等于0.693)。 |
LN10 | 返回 10 的自然对数(约等于2.302)。 |
LOG2E | 返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。 |
LOG10E | 返回以 10 为底的 e 的对数(约等于0.434)。 |
PI | 返回圆周率(约等于3.14159)。 |
SQRT1_2 | 返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 | 返回 2 的平方根(约等于 1.414)。 |
以上两个表格摘自菜鸟教程,来源地址:JavaScript Math 对象 | 菜鸟教程
// 输出圆周率
console.log(Math.PI); // 输出:3.141592653589793
// 向上取整 没有四舍五入,直接去掉小数取整数+1。
console.log(Math.ceil(1.2)); // 输出:2
console.log(Math.ceil(1.5)); // 输出:2
console.log(Math.ceil(1.9)); // 输出:2
// parseInt取整数
console.log(parseInt('12px')); // 输出:12
// 向下取整 没有四舍五入,直接去掉小数取整数。
console.log(Math.floor(1.2)); // 输出:1
console.log(Math.floor(1.5)); // 输出:1
console.log(Math.floor(1.9)); // 输出:1
// 四舍五入
console.log(Math.round(1.4)); // 输出:1
console.log(Math.round(1.5)); // 输出:2
console.log(Math.round(1.9)); // 输出:2
// 四舍五入负数,-1和-2之间离谁近取谁
console.log(Math.round(-1.49)); // 输出:-1
console.log(Math.round(-1.5)); // 输出:-1
console.log(Math.round(-1.51)); // 输出:-2
let a = 1;
let b = 2;
let c = 3;
// 取最大值
console.log(Math.max(a,b,c)); // 输出:3
// 取最小值
console.log(Math.min(a,b,c)); // 输出:1
// 取绝对值
console.log(Math.abs(-3)); // 输出:3
// 幂运算
console.log(Math.pow(3,2)); // 输出:9
- ceil:向上取整,直接去掉小数取整数+1。
- floor:向下取整,去掉小数取整数,和parseInt有些相似,但是parseInt可以截取数字+字符的字符串,比如‘12px’取12。
- Math.random();随机数函数。返回一个0-1之间,包括0但不包括1的随机小数。也就是[0,1)左闭右开规则。
- Math.floor(Math.random()*(10+1))生成0-10的随机数,因为左闭右开规则只能取到9所以要+1。Math.floor(Math.random()*11)。
// 随机取数组元素 array = ['赵','钱','孙']; console.log(array[Math.floor(Math.random()*3)]);
- Math.floor(Math.random()*(5+1))+5生成5-10的随机数。
- Math.floor(Math.random()*(m-n+1))+n生成n-m的随机数。
// 5-10之间的整数 let n = 5; let m = 10; console.log(Math.floor(Math.random()*(m-n+1))+n); // 随机抽取数组内的元素并删除该元素 let array = ['赵','钱','孙']; index = Math.floor(Math.random()*array.length); console.log(array[index]); array.splice(index,1); console.log(array); // 猜数字游戏 index = Math.floor(Math.random()*11); while(true){ let a = +prompt('输入0-10的数字:'); if (a>index) { alert("数字大了"); continue; } else if (a<index) { alert("数字小了"); continue; } else { alert("对了"); break; } }
- 生成随机颜色
// 生成随机颜色 let arr = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']; let color = '#'; function colorRandom(flag) { if(flag) { // 十六进制 for(let i=0;i<6;i++){ let a = Math.floor(Math.random()*arr.length); color += arr[a]; } console.log(`%c ${color} 颜色`, `color:${color}`) } else { // rgb let a = Math.floor(Math.random()*256); let b = Math.floor(Math.random()*256); let c = Math.floor(Math.random()*256); console.log(`%c rgb(${a},${b},${c}) 颜色`, `color:rgb(${a},${b},${c})`) } }; colorRandom(true);
二.JavaScript 保留关键字
Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。
abstract | arguments | boolean | break | byte |
case | catch | char | class* | const |
continue | debugger | default | delete | do |
double | else | enum* | eval | export* |
extends* | false | final | finally | float |
for | function | goto | if | implements |
import* | in | instanceof | int | interface |
let | long | native | new | null |
package | private | protected | public | return |
short | static | super* | switch | synchronized |
this | throw | throws | transient | true |
try | typeof | var | void | volatile |
while | with | yield |
以上表格摘自菜鸟教程,来源地址:JavaScript 保留关键字 | 菜鸟教程
仅作为个人学习用,如有错误,还请指正。