首頁  >  文章  >  web前端  >  波形符運算子如何影響 JavaScript 中的條件式?

波形符運算子如何影響 JavaScript 中的條件式?

Susan Sarandon
Susan Sarandon原創
2024-11-27 20:54:14217瀏覽

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

前面有波形符運算子的條件式

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn