JS运算符优先级(从高到低列出)

JavaScript017

JS运算符优先级(从高到低列出),第1张

. [] ()    字段访问、数组下标、函数调用以及表达式分组

++ -- - ~ ! delete new typeof void     一元运算符、返回数据类型、对象创建、未定义值

* / %    乘法、除法、取模

+ - +    加法、减法、字符串连接

<<>>>>>移位

<<= >>= instanceof  小于、小于等于、大于、大于等于、instanceof

== != === !==    等于、不等于、严格相等、非严格相等

&   按位与

^    按位异或

|     按位或

&&  逻辑与

||     逻辑或

?:    条件

= oP=  赋值、运算赋值

,      多重求值

下面三种都会影响原数组,最后一项不影响原数组:

opop()

oshift()

osplice()

oslice()

1、pop()

pop() 方法用于删除数组的最后一项,同时减少数组的length 值,返回被删除的项

let colors = ["red", "green"]

let item = colors.pop()// 取得最后一项

console.log(item) // green

console.log(colors.length) // 1

2、shift()

shift()方法用于删除数组的第一项,同时减少数组的length 值,返回被删除的项

let colors = ["red", "green"]

let item = colors.shift()// 取得第一项

console.log(item) // red

console.log(colors.length) // 1

3、splice()

传入两个参数,分别是开始位置,删除元素的数量,返回包含删除元素的数组

let colors = ["red", "green", "blue"]

let removed = colors.splice(0,1)// 删除第一项

console.log(colors)// green,blue

console.log(removed)// red,只有一个元素的数组

4、slice()

slice() 用于创建一个包含原有数组中一个或多个元素的新数组,不会影响原始数组

let colors = ["red", "green", "blue", "yellow", "purple"]

let colors2 = colors.slice(1)

let colors3 = colors.slice(1, 4)

console.log(colors) // red,green,blue,yellow,purple

concole.log(colors2)// green,blue,yellow,purple

concole.log(colors3)// green,blue,yellow