查询字符串 随机数 数字方法 了解异步代码 定时器和延时器

130 阅读2分钟

查询字符串 随机数 数字方法 了解异步代码 定时器和延时器

一.查询字符串(约定)

  • 数字字符串'123456'
  • 标签字符串'
    '
  • 查询字符串: 'key=value'
  • 多个查询字符串: 'key=value; key1=value1; key2=value'

案例:

//模拟一个查询字符串
var str='name:张三;age:18;city:北京'
//需求将查询字符串转换为对象形式
var obj = {}
/*
  分析:  1:拿到字符串中所有的key
        2: 拿到字符串中所有key对应的 value
    
  逻辑:  1: 将字符串分隔为key=value(分隔完有三个)
        2: 拿到每一个key添加到对象中,并且给赋值为对应的value
​
*/
//方法一
        var arr =str.split(';');
        for(var i =0; i<arr.length; i++){
            var newArr =arr[i].split('=')
            var key =newArr[0]
            var value= newArr[1]
            obj[key]=value
        }
console.log(obj);
//方法二
       arr.forEach(function (item) {
            var newArr = item.split('=')
​
            // var key = newArr[0]
            // var value = newArr[1]
            // obj[key] = value
​
            obj[newArr[0]] = newArr[1]
​
        })
​
        console.log(obj)
​

二.进制转换和保留小数

  1. 十进制转换为其他进制: toString()

  2. 其他进制转换为十进制: parseInt()

    案例:

    var arr =[1,2,3].map(parseInt);
        解析:var arr =[1,2,3].map(parseInt);
            var arr=[1,2,3]
            arr.map(parseInt)
    console.log(arr);
    /*
    parseInt 第二个参数区间为2~36,填写小于2的或者大于36的,都会返回NaN;
        如果第二个参数写的是0或者不写
            它会默认将你的数字识别为十进制.然后转为十进制
            
    parseInt(1,0) //是把数字1当成10进制转换为10进制
    parseInt(2,1) //填写小于2或者大于36的,都会返回NaN
    parseInt(3,1) //是把数字3当成2进制转换为10进制/但是2进制只有0和1,所以会认为这个是NaN
    ​
    */
    

    保留小数

    1. 保留时采用四舍五入
    2. 返回的是字符串

三.数字的方法

数字方法的常用方法

  1. random(随机数)

    • 语法: Math.random()
    • 作用: 得到一个0~1之间的随机数,包含0,不包含1
  1. round(四舍五入取整)

    • 语法:Math.round()
    • 作用:将数据四舍五入取整

3.ceil(向上取整)

  • 语法:Math.ceil()
  • 作用:将数据向上取整

4.floor(向下取整)

  • 语法:Math.floor()
  • 作用:将数据向下取整

5.abs(取绝对值)

  • 语法:Math.abs()
  • 作用:取数据的绝对值

6.sqrt(求平方根)

  • 语法:Math.sqrt()
  • 作用:求平方根

7.pow(求基数的X次幂)

  • 语法:Math.pow(基数,幂)
  • 作用:求一个基数的 X 次幂

8.max(最大值)

  • 语法:Math.max()
  • 作用:求参数中的最大值

9.min(最小值)

  • 语法:Math.min()
  • 作用:求参数中的最小值

10.PI(求圆周率)

  • 语法:Math.PI不加小括号
  • 作用:求圆周率

四.定时器和延时器

1.定时器(setInterval)

  • 语法: setInterval (function(){每次执行定时器要做的事},时间) 时间单位是毫秒
  • 返回值:(时间ID)====取决于你当前的定时器是这个页面的第几个定时器,返回值可以关闭定时器
  • 关闭定时器: clearInterval(时间ID)

2.延时器(seTimeout)

  • 语法:setInterval (function(){倒计时时间满足时,要执行一段代码,时间}) 时间单位是毫秒
  • 返回值:(时间ID)====取决于你当前的延时器是这个页面的第几个定时器,返回可以关闭延时器
  • 关闭定时器: clearTimeout(时间ID)
关闭定时器: clearIntervalclearTimeout
    正常来说两个可以混用,不会出错,
    但是根据语义来说clearTimeout 用于关闭 setTimeout; clearInterval 用于关闭 setInterval

五.了解异步代码

  1. JS 的运行 是单线程的(执行代码从第一行开始,往下执行, 上一行不结束, 不会运行下一行代码)

  2. JS 在运行的时候, 会按照从上到下的顺序执行代码, 但是会先把所有的同步任务先执行, 等所有的同步任务执行完毕, 在执行异步任务

    案例:
  console.log('start')                // 同步任务 1
        setTimeout(function () {            // 异步任务 1
            console.log('timeout_start')        // y 同步任务 1
            setTimeout(function () {                // y 异步任务 1
                console.log('QF666')                    // X 同步 任务 1
            }, 0)
            console.log('timeout_end')          // y 同步任务 2
        }, 0)
        console.log('end')                  // 同步任务 2
​
​
        /**
         *  1. start
         *  2. end
         *  3. timeout_start
         *  4. timeout_end
         *  5. QF666
        */