這個運算符有點意思:按位非【~】
先來幾個例子:
~undefined: -1
~false: -1
~true: -2
~10:-11
找出規律了吧~~
再說一下運用場景:
之前判斷字符串是否存在是這樣寫:
var str = "sdfjh2kdd";
if( str.indexOf("2")>-1 ){
console.log("存在")
}else{
console.log("不存在")
}
現在可以這樣寫:
var str = "sdfsdfs233";
if( ~str.indexOf('2') ){
console.log("存在")
}
位運算的效率會比運算符高,如果不了解的也正好學習一下,免得看到【按位非~】運算符一臉懵,高級程序設計里面有一章是介紹這個的,可以回去翻一番。