将js中的对象、符号转换成整型数字的神器。java中无此操作。
~是js里的按位取反操作符,~~就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是 ~~true === 1,~~false === 0。
将boolean、数组、undefined、null、浮点数、字符串都可转换成整型数字。
~~true == 1
~~false == 0
~~"" == 0
~~[] == 0
~~[3,false,true,"9.9"] == 0
~~undefined ==0
~~!undefined == 1
~~null == 0
~~!null == 1
~~3.02 == 3
~~"5" == 5