!! sering dilihat dalam kod JavaScript Artikel ini akan menggunakan contoh untuk menganalisis penggunaan dua tanda seru dalam JavaScript secara mendalam. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
!! dalam JavaScript adalah logik "tidak", iaitu, ia adalah "tidak" sekali lagi berdasarkan logik "tidak". Banyak jenis boleh ditukar kepada jenis bool melalui ! atau !!, dan kemudian pertimbangan lain boleh dibuat.
1. Senario aplikasi: Tentukan sama ada objek wujud
Andaikan terdapat objek json seperti itu:
{ color: "#E3E3E3", "font-weight": "bold" }
Jika anda perlu menentukan sama ada ia wujud, gunakan !!.
Jika anda hanya mencetak objek, anda tidak boleh menentukan sama ada ia wujud:
var temp = { color: "#A60000", "font-weight": "bold" }; alert(temp);
Hasil: [objek: Objek]
Jika anda melaksanakan ! atau !! pada objek json, anda boleh menentukan sama ada objek json wujud:
var temp = { color: "#A60000", "font-weight": "bold" }; alert(!temp);
Keputusan: palsu
var temp = { color: "#A60000", "font-weight": "bold" }; alert(!!temp);
Keputusan: benar
2. Konvensyen menukar pelbagai jenis kepada jenis bool melalui
1 Kembalikan benar untuk "bukan" nol
var temp = null; alert(temp);
Keputusan: batal
var temp = null; alert(!temp);
Keputusan: benar
var temp = null; alert(!!temp);
Keputusan: palsu
2. Kembalikan benar untuk "bukan" yang tidak ditentukan
var temp; alert(temp);
Keputusan: tidak ditentukan
var temp; alert(!temp);
Keputusan: benar
var temp; alert(!!temp);
Keputusan: palsu
3 Kembalikan benar untuk "bukan" dalam rentetan kosong
var temp=""; alert(temp);
Hasil: kosong
var temp=""; alert(!temp);
Keputusan: benar
var temp=""; alert(!!temp);
Keputusan: palsu
4 Kembalikan palsu untuk "bukan" daripada jenis integer bukan sifar
var temp=1; alert(temp);
Keputusan: 1
var temp=1; alert(!temp);
Keputusan: palsu
var temp=1; alert(!!temp);
Keputusan: benar
5 Kembalikan benar untuk "bukan" daripada 0
var temp = 0; alert(temp);
Keputusan: 0
var temp = 0; alert(!temp);
Keputusan: benar
var temp = 0; alert(!!temp);
Keputusan: palsu
6 Kembalikan palsu untuk "bukan" dalam rentetan
var temp="ab"; alert(temp);
Keputusan: ab
var temp="ab"; alert(!temp);
Keputusan: palsu
var temp="ab"; alert(!!temp);
Keputusan: benar
7 Kembalikan palsu untuk "bukan" dalam tatasusunan
var temp=[1,2]; alert(temp);
Keputusan: 1,2
var temp=[1,2]; alert(!temp);
Keputusan: palsu
var temp=[1,2]; alert(!!temp);
Keputusan: benar
Saya percaya bahawa perkara yang diterangkan dalam artikel ini mempunyai nilai rujukan tertentu untuk pembelajaran pengaturcaraan JavaScript setiap orang.