美文网首页
js不太了解的一些知识点

js不太了解的一些知识点

作者: Andy_Sun | 来源:发表于2018-01-17 16:43 被阅读0次

    单线程
    reverse() 将数组中元素的位置颠倒
    reduce() 每个元素从左到右应用一个函数,减少为单个值
    toLocaleString() 返回各种类型的字符串 () 放一些规则

    ES6数组特性
    一. 交换两个整数

    var a = 3,b = 4;
    [b, a] = [a, b]
    

    二.使用 Array.from, 值需要对象有 length 属性, 就可以转换成数组

    var arguments = { 0:1, 1:2, 2:3, length:3 }
    var arr = Array.from(arguments); // [1, 2, 3]
    

    三.数字取整 2.33333 => 2 可以查看链接(https://juejin.im/entry/5a3e1ff651882538d3102346)
    1.Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分。
    2.parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。这个估计是直接取整最
    常用的方法了。
    黑科技
    number 双波浪线 ~~ 操作符也被称为“双按位非”操作符。你通常可以使用它作为代替 Math.trunc() 的更快的方法。console.log(47.11) // -> 47 (失败时返回0,这可能在解决 Math.trunc() 转换错误返回 NaN 时是一个很好的替代。 但是当数字范围超出 ±2^31−1 即:2147483647 时,异常就出现了:

    // 异常情况

    console.log(~~2147493647.123) // -> -2147473649  )
    

    4.number | 0
    | (按位或) 对每一对比特位执行或(OR)操作。

    1. number ^ 0
      ^ (按位异或),对每一对比特位执行异或(XOR)操作。
      6.number << 0
      << (左移) 操作符会将第一个操作数向左移动指定的位数。向左被移出的位被丢弃,右侧用 0 补充。
    image.png image.png
     setTimeout(function(){
         console.log('定时器开始啦')
     });
     
     new Promise(function(resolve){
         console.log('马上执行for循环啦');
         for(var i = 0; i < 10000; i++){
             i == 99 && resolve();
         }
     }).then(function(){
         console.log('执行then函数啦')
     });
     
     console.log('代码执行结束');
    
    结果: 马上执行for循环啦 --- 代码执行结束 --- 执行then函数啦 --- 定时器开始啦
    

    相关文章

      网友评论

          本文标题:js不太了解的一些知识点

          本文链接:https://www.haomeiwen.com/subject/vhoyoxtx.html