js不太了解的一些知识点

单线程
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 补充。
js不太了解的一些知识点_第1张图片
image.png
js不太了解的一些知识点_第2张图片
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不太了解的一些知识点)