console.log(0.5 | 0); // 0
console.log(-1 | 0); // -1
console.log(1 | 0); // 1
Mengapa 0.5 | 0
mengembalikan nol, tetapi bilangan bulat apa pun (termasuk negatif) mengembalikan bilangan bulat input? Apa yang dilakukan oleh pipa tunggal ("|")?
javascript
Matrym
sumber
sumber
Jawaban:
Ini agak bitwise atau .
Karena operasi bitwise hanya masuk akal pada bilangan bulat,
0.5
terpotong.0 | x
adalahx
, untuk apa punx
.sumber
parseInt()
Perbandingan bit sangat sederhana sehingga hampir tidak bisa dimengerti;) Lihat "nybble" ini
Bitwise ORing 6 dan 10 akan memberi Anda 14:
Sangat membingungkan!
sumber
alert(true | false) //yields 1; alert(true | true) //yields 1; alert(false | true) //yields 1; alert(false | false) //yields 0
Satu pipa sedikit bijak ATAU .
JavaScript memotong angka-angka non-integer dalam operasi bitwise, sehingga dihitung sebagai
0|0
, yaitu 0.sumber
Contoh ini akan membantu Anda.
sumber