1. Math
- 取整
- 绝对值
- 四舍五入 ```javascript // 向下取整 Math.floor(3.78) // 3 Math.floor(-3.65) // -4
// 向上取整 Math.ceil(3.45) // 4
// 四舍五入 Math.round(3.45) // 3 Math.round(3.66) // 4
// 绝对值 Math.abs(-3) // 3
- **最大值**
- **最小值**
```javascript
// 最大值
Math.max(3, 5, 9) // 9
// 最小值
Math.min(3, 5, 9) // 3
// 写一个函数,返回数组的最大值
const maxInArr = arr => Math.max(...arr)
let max = maxInArr([3, 8, 2])
console.log(max) // 8
- 随机数
- Math.random()
- 返回[0, 1)之间的一个伪随机数,包括0,不包括1
```javascript // 写一个函数,返回长度为n的随机字符串 function randStr(n) { let str = ‘0123456789abcdefghigklmnopqrstuvwxyz’ let res = ‘’ let index for(let i = 0; i < n; i++) { index = Math.floor(Math.random() * str.length) res += str[index] } return res }// 写一个函数随机返回[0, 100)之间整数 const randNum = () => Math.floor(Math.random() * 100) let res = randNum() console.log(res)
let str = randStr(5) console.log(str)
```javascript
// 写一个函数,随机生成一个IP地址
function randIp() {
let randNum = parseInt(Math.random() * 256)
return `${randNum}.${randNum}.${randNum}.${randNum}`
}
let ip = randIp()
console.log(ip)
// 写一个函数,有两个参数min和max,返回一个在[min, max]之间的随机数
function randNum(min, max) {
return min + parseInt(Math.random() * (max + 1 - min))
}
let res = randNum(4, 30)
console.log(res)
2. Number
- 数字的写法 ```javascript let n1 = 100 let n2 = 2.53
// 二进制写法,等同于3 let n3 = 0b11
// 八进制写法,等同于9 let n4 = 011
// 十六进制写法,等同于17 let n5 = 0x11
// 大数的表示方法 bigint let n6 = 999999999n // 大数相加 100n + 2n
- **强制转换**
- parseInt(string, radix) 转换为整数
- parseFloat转换为浮点数
```javascript
// 第二个参数省略,默认为十进制
parseInt('10.45') // 10
parseInt('11', 2) // 3
parseInt('0x11') // 17 可以识别0x开头
parseInt('011') // 11
parseInt('0b11') // 0
parseInt('ff', 16) // 255
parseInt('3px') // 3
parseInt('ab389') // NaN
- toFixed()
let a = 3.1415926 let res = a.toFixed(3) console.log(res) // 3.142