1、使用!!操做符转换布尔值数组
有时候咱们须要对一个变量查检其是否存在或者检查值是否有一个有效值,若是存在就返回true值。为了作这样的验证,咱们能够使用!!操做符来实现是很是的方便与简单。对于变量能够使用!!variable作检测,只要变量的值为:0、null、" "、undefined或者NaN都将返回的是false,反之返回的是true。浏览器
2、使用+将字符串转换成数字缓存
这个技巧很是有用,其很是简单,能够交字符串数据转换成数字,不过其只适合用于字符串数据,不然将返回NaN。ide
3、使用||运算符函数
在ES6中有默认参数这一特性。为了在老版本的浏览器中模拟这一特性,能够使用||操做符,而且将将默认值当作第二个参数传入。若是第一个参数返回的值为false,那么第二个值将会认为是一个默认值。性能
4、在循环中缓存array.lengthprototype
这个技巧很简单,这个在处理一个很大的数组循环时,对性能影响将是很是大的。对象
5、检测对象中属性字符串
当你须要检测一些属性是否存在,避免运行未定义的函数或属性时,这个小技巧就显得颇有用。若是你打算定些一些跨兼容的浏览器代码,你也可能会用到这个小技巧。例如,你想使用document.querySelector()来选择一个id,而且让它能兼容IE6浏览器,可是在IE6浏览器中这个函数是不存在的,那么使用这个操做符来检测这个函数是否存在就显得很是的有用,it
6、获取数组中最后一个元素
Array.prototype.slice(begin,end)用来获取begin和end之间的数组元素。若是你不设置end参数,将会将数组的默认长度值看成end值。但有些同窗可能不知道这个函数还能够接受负值做为参数。若是你设置一个负值做为begin的值,那么你能够获取数组的最后一个元素。
7、数组截断
这个小技巧主要用来锁定数组的大小,若是用于删除数组中的一些元素来讲,是很是有用的。例如,你的数组有10个元素,但你只想只要前五个元素,那么你能够经过array.length=5来截断数组。
8、将NodeList转换成数组
若是你运行document.querySelectorAll(“p”)函数时,它可能返回DOM元素的数组,也就是NodeList对象。但这个对象不具备数组的函数功能,好比sort()、reduce()、map()、filter()等。为了让这些原生的数组函数功能也能用于其上面,须要将节点列表转换成数组。