js强制类型转换

关于位运算符~spa

~a 大体等同于 -(a+1),code

它首先将值强制类型转换为 32 位数字,而后执行字位操做“非”(对每个字 位进行反转)。 对象

在 -(a+1) 中惟一可以获得 0(或者严格说是 -0)的 a 值是 -1。也就是说若是 a 为 -1 时,~blog

和一些数字值在一块儿会返回假值 0,其余状况则返回真值。it

so,就有了下面的应用class

let a = "asdfasf";
if (a.indexOf('a') != -1) {
    //....
}

等同于layout

let a = "asdfasf";
if (~a.indexOf('a')) {
    //....
}

注:indexOf是不能用于对象的!类型转换

相关文章
相关标签/搜索