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

  1. - **最大值**
  2. - **最小值**
  3. ```javascript
  4. // 最大值
  5. Math.max(3, 5, 9) // 9
  6. // 最小值
  7. Math.min(3, 5, 9) // 3
  8. // 写一个函数,返回数组的最大值
  9. const maxInArr = arr => Math.max(...arr)
  10. let max = maxInArr([3, 8, 2])
  11. console.log(max) // 8
  • 随机数
    • Math.random()
    • 返回[0, 1)之间的一个伪随机数,包括0,不包括1
      // 写一个函数随机返回[0, 100)之间整数
      const randNum = () => Math.floor(Math.random() * 100)
      let res = randNum()
      console.log(res)
      
      ```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 }

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