1.转化为Boolean类型
很多时候我们都用隐式转化成Boolean来判断,比如:
0==false;
undefinde==false;
但是:
0===false: //false
所以最好先显式转化成Boolean
!!0===false; //true
2.为一个未知的变量赋值
var aa=bb||0; 如果bb不存在就会默认aa=0;
3.将arguments转换成数组,arguments并不是一个真正的数组,而是一个类数组对象,只有length属性,没有slice,push,sort这些方法,如何转换呢?
function args(){
return [].slice.call(arguments,0);
}
4.为parseInt(str,[radix])指定第二个参数,第一个参数是表示要转换的字符串,第二个是用来指定第一个参数是几进制的
如果不指定会用默认的法则:
如果以0x开头的是16进制
如果以0开头的表示8进制(这个目前在谷歌测试结果还是10进制)
否则就是10进制
不管如何,还是应该在转换的时候加上第二个参数,防止歧义的产生
5.获取数组中最大的值,常用方法就是不断的遍历,但是你是否还记得Math.max()这个方法
Math.max(1,22,3,44,3);//44
可是Math.max的参数不能是一个数组,只能是多个参数:
数组对象想用Math对象的方法,这个时候你是否想起另一个小伙伴,apply();
Math.max.apply(null,arr); 通过参数的形式把数组的每一项传入,为什么不用call,因为call的参数不是数组的形式,这个也是apply和call两个方法的差别