一些js小特性
内容不一定详实,但确实有一些收获。
var fun=function(){ console.log('1') } function fun(){ console.log('2') } fun() //1
js中重复命名方法,会执行后面命名的。但是假如一个方法用变量的方式命名,上述的情况会执行变量的。因为函数会先被提升,然后变量的。
删除数组元素的方法:
说起删除数组元素,就想起来了splice(),但是array中length属性自带删除功能,当我们用到从一个位置之后的数据全部删除时可以用length,写出来可能会更简便。
var numbers = [1, 2, 3, 4, 5]; if (numbers.length > 3) { numbers.length = 3; } console.log(numbers); // [1, 2, 3] console.log(numbers.length); // 3
检查数组中是否都满足一个方法:使用every,遇到不满足的条件,立即返回false,全部通过则返回true
[12, 5, 8, 130, 44].every(x => x >= 10); // false [12, 54, 18, 130, 44].every(x => x >= 10); // true
向数组内填充统一的值,可以使用fill方法,fill接收3个参数,第一个为填充内容,第二个为起始位置,第三个为终止位置。当有终止位置时,fill内容并不包含终止位置信息。第三个值不填充,则默认修改到数组最后。
[1, 2, 3].fill(4); // [4, 4, 4] [1, 2, 3].fill(4, 1); // [1, 4, 4] [1, 2, 3].fill(4, 1, 2); // [1, 4, 3]