让前端飞Web前端之路

js中的三个点...

2020-03-05  本文已影响0人  子皙丶

1. 定义

扩展运算符(...),将一个数组转为用逗号分隔的参数序列

var arr = [1,2,3,4]
console.log(...arr) //1 2 3 4

2. 常用位置

  1. 作为函数参数调用
function add (a, b){
  return a+b
}
var arg = [12, 45]
add(...arg)
  1. 某些情况代替apply
function applyFn(){}
applyFn.apply(null,[1,2,3])
//等价于
applyFn(...[1,2,3])
Math.max.apply({},[1,2,3])
//等价于
Math.max(...[1,2,3])
var a = [1,2]
var b = [3,4]
Array.prototype.push.apply(a,b)
console.log(a)   // 1,2,3,4
//等价于
a.push(...b)

3. 合并数组

var a = [1,2]
var b = [3,4]
var c = [...a, ...b]
// c = [1,2,3,4]

4. 与解构赋值结合

const [a , ...b] = [1,2,3]
// a=1  b=[2,3]
const [a, ...b] = []
// a=undefined  b=[]
const [a, ...b] = ['abc']
// a ='abc'  b=[]

扩展运算符只能放在最后一位,放在前面报错[...a,b]这样报错

5. 字符串

[...'abc']
// ['a' , 'b' , 'c']

6. dom节点获取

var nodes = document.querySelectorAll('div')
var arr = [...nodes]
// 这样得到的arr ,就是div节点的数组
上一篇 下一篇

猜你喜欢

热点阅读