一、includes
Array.prototype.includes(要搜索的值,从哪里开始搜索)
与indexOf区别
- 返回值。indexOf的返回数是数字型,includes的返回值是布尔型,
var ary = ['s'];
if (ary.indexOf('s') !== -1) {
console.log("存在")
}
if (ary.includes('s')) {
console.log("存在")
}
意义更加明确,况且可以节省代码量
- 判断NaN必须使用includes这个方法。
var arr = [NaN];
console.log(arr.indexOf(NaN)) // -1
console.log(arr.includes(NaN)) // true
当数组的有空的值的时候,includes会认为空的值是undefined,而indexOf不会。
var arr = new Array(2);
console.log(arr.indexOf(undefined)) // -1
console.log(arr.includes(undefined)) // true
二、幂运算符
求幂运算符(**),替代Math.pow。
4 ** 3 // 64
效果等同于
Math.pow(4,3)
但**还支持以下操作
var n = 4;
n **= 3; // 64