前面有波形符運算子的條件式
在JavaScript 中,波形運算子(~) 運算子可以位於表達式之前以執行按位求反。使用條件式時,此運算子可以有特定用途。
範例程式碼:
var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) ? 'value' : 'innerHTML'
說明:
如果找不到目標值,indexOf() 函數會傳回-1。透過使用 ~ 運算子求反該值,我們可以有效地將其轉換為符合的真值(任何非零值)和非匹配的假值 (-1)。
位元運算:
在 JavaScript 中,數字在內部表示為 32 位元整數。 ~ 運算子翻轉其運算元中的所有位,有效地反轉它們。
例如,如果'input,textarea'.indexOf( target.tagName.toLowerCase() ) 的值為1(代表字元'i'),其二進位表示為:
0000 0000 0000 0000 0000 0000 0000 0001
應用~ 運算子翻轉所有位,結果in:
1111 1111 1111 1111 1111 1111 1111 1110
在2 的補碼表示中,結果值為 -2。
條件結果:
在條件表達式中,值評估~'input,textarea'.indexOf( target.tagName.toLowerCase() ) 以決定是否將“value”或“innerHTML”指派給attr 變數。如果找到目標,則表達式的計算結果將為真,從而將「值」指派給 attr。否則,如果未找到目標,則表達式將計算為假,導致「innerHTML」被指派給 attr。
以上是波形符運算子如何影響 JavaScript 中的條件式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!