JS类型转换奇技淫巧

JS类型转换奇技淫巧

很酷炫有木有!!!因为可读性低,所以有些技巧并不提倡使用。但遇见别人这样写,得看得懂是怎么一回事!

转布尔型

!!''         //=> false
!!null       //=> false
!!undefined  //=> false
!!NaN        //=> false
!!0          //=> false
!!1          //=> true
!!-1         //=> true
!![]         //=> true
!!{}         //=> true
!!window     //=> true
!!Infinity   //=> true

转字符串

'' + 123      //=> '123'
'' + true     //=> 'true'

转数值型

+new Date     //=> 1456480246437
+'123'        //=> 123

向下取整

~~3.4          //=> 3
3.4|0          //=> 3
-3.4^0         //=> -3
-3.4 >> 0      //=> -3

indexOf判断

var arr = [1,2,3];
if(!~arr.indexOf(4)){
  arr.push(4);
}
!!~arr.indexOf(1) //=> true
!!~arr.indexOf(5) //=> false

类数组转数组

var arrLike = {0:'abc',1:'xyz',length:2};
Array.prototype.slice.call(arrLike)        //=> ['abc','xyz']
//常用 Array.prototype.slice.call(arguments)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容