Rumah >hujung hadapan web >tutorial js >Bagaimanakah Pengendali Tilde Mempengaruhi Ungkapan Bersyarat dalam JavaScript?

Bagaimanakah Pengendali Tilde Mempengaruhi Ungkapan Bersyarat dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-27 20:54:14284semak imbas

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

Ungkapan Bersyarat dengan Operator Tilde Sebelumnya

Dalam JavaScript, pengendali tilde (~) boleh mendahului ungkapan untuk melakukan penolakan bitwise. Apabila bekerja dengan ungkapan bersyarat, operator ini boleh mempunyai kegunaan khusus.

Contoh Kod:

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'

Penjelasan:

Fungsi indexOf() mengembalikan -1 jika nilai sasaran tidak ditemui. Dengan menafikan nilai ini menggunakan operator ~, kami secara berkesan menukarnya kepada truthy (sebarang nilai bukan sifar) untuk padanan dan palsu (-1) untuk bukan padanan.

Operasi Bitwise:

Dalam JavaScript, nombor secara dalaman diwakili sebagai integer 32-bit. Operator ~ membalikkan semua bit dalam operannya, menyongsangkannya dengan berkesan.

Sebagai contoh, jika nilai 'input,textarea'.indexOf( target.tagName.toLowerCase() ) ialah 1 (mewakili aksara 'i'), perwakilan binarinya ialah:

0000 0000 0000 0000 0000 0000 0000 0001

Menggunakan operator ~ membalikkan semua bit, menghasilkan:

1111 1111 1111 1111 1111 1111 1111 1110

Nilai yang terhasil ialah -2 dalam perwakilan pelengkap 2.

Hasil Bersyarat:

Dalam ungkapan bersyarat , nilai ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) ialah dinilai untuk menentukan sama ada untuk memberikan 'nilai' atau 'innerHTML' kepada pembolehubah attr. Jika sasaran ditemui, ungkapan akan menilai kebenaran, menyebabkan 'nilai' diberikan kepada attr. Jika tidak, jika sasaran tidak ditemui, ungkapan tersebut akan dinilai sebagai palsu, menyebabkan 'innerHTML' diberikan kepada attr.

Atas ialah kandungan terperinci Bagaimanakah Pengendali Tilde Mempengaruhi Ungkapan Bersyarat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn