[TOC]

1.Math对象

  • 属于引用数据类型,
  • Math.abs();取绝对值,如果传入的不是数字,会转数字类型.如果转成数字类型是NaN,输出结果也是NaN
  • Math.PI:圆周率
  • Math.ceil();向上取整
  • Math.floor();向下取整
  • Math.round();四舍五入
  • Math.max();取最大值
  • …扩展预算符:可以将数据进行直接扩展

    // console.log(Math.PI);
          // console.log(Math.abs(undefined)); // NaN
          // console.log(Math.abs(true)); // 1
          // console.log(Math.ceil(3.1)); // 4
          // console.log(Math.ceil(3.9)); // 4
          // console.log(Math.floor(3.1)); // 3
          // console.log(Math.floor(3.1)); // 3
          // console.log(Math.round(3.1)); // 3
          // console.log(Math.round(3.5)); // 4
    
  • 扩展运算符和收缩运算符 ```javascript

      // ...扩展收缩运算符
    
      // let ary = [1, true, 3, 4];
      // console.log(...ary); // 此时的...就是把数组展开变成多个值
      // // 1 true 3 4
    
    // function fn(...arg) { // 收缩或者剩余运算符
    //     console.log(arg); // [1,2,3]

    // }
    // fn(1, 2, 3)

    function sum(...arg) { // 剩余运算符或者收缩运算符,可以把所有的实参收缩到一个数组里
        // console.log(arg);
        let total = null;
        arg.forEach(function(item, index) {
            //item是数组的每一项  index是每一项的索引
            // console.log(item, index);
            var cur = Number(item);
            if (!isNaN(cur)) {
                total += cur
            }

        })
        return total;
    }

    let res = sum(true, false, 1, undefined);
    console.log(res);

- Math.random();取0-1之间得一个随机数
```javascript
 // 需求:获取3到6之间的随机整数
        // console.log(Math.round(Math.random()));
        // 获取0到1之间的随机整数(包括0和1的)
        // console.log(Math.random() * (6-3) + 3)
        // 0-6之间的随机小数  0-3之间的随机小数  3-6之间的随机小数

        // console.log(Math.round(Math.random() * (6 - 3) + 3))

        // 获取n到m之间的随机整数(包括n和m)
        // Math.round(Math.random()*(m-n)+n);
        // 想获取1到10之间的随机整数
        // console.log(Math.round(Math.random() * (10 - 1) + 1));
  • Math.sqrt:开平方
  • Math.pow(n,m):n的m次方 取幂

    2.Map映射数组

    let box = document.getElementById('box')
              // ajax 从后台把数据请求过来
          let ary = ['我是小狗', '疫情爆发']; // 从后台请求来的数据
    
          // ['<li>1</li>','<li>2</li>','<li>3</li>','<li>4</li>']
    
          let res = ary.map(function(item, index) {
              // return '<li>' + item + '</li>'
              // return '<li>${item}</li>'
    
              return `<li>.${item}334456565${index}</li>`
                  // es6的模板字符串${}里边可以写变量
    
          });
    
          res = res.join('');
          console.log(res);
    
          box.innerHTML = res;
    
          console.log(res);
    

    3.计时器

  • SetTimeout,只能执行一次,参数为两个,函数与执行的时间间隔

  • SetInterVal,再没有被暂停的时候执行无数次
  • clearTimeout,删除计时器
  • clearInterval,删除一直执行的计时器
  • 可以传第三个参数,第三个参数是自己回调函数的实参 ```javascript