Ada lima semantik tanda kurung dalam Javascript
Semantik 1, daftar parameter saat fungsi dideklarasikan
Copy kode kodenya sebagai berikut:
fungsi fungsi(arg1,arg2){
// ...
}
Semantik 2, digunakan bersama dengan beberapa pernyataan untuk mencapai efek pembatas tertentu
Copy kode kodenya sebagai berikut:
// digunakan dengan untuk di
untuk(var a dalam objek){
// ...
}
// digunakan dengan if
jika(huuu){
//...
}
// digunakan dengan while
sementara(huuu){
// ...
}
// digunakan dengan do while
Mengerjakan{
// ...
}sementara(huuu)
Catatan: Ketika digunakan dengan if, while dan do while, tanda kurung secara implisit akan mengubah hasil ekspresi menjadi nilai Boolean. Lihat Konversi Jenis Implisit dalam JavaScript.
Semantik 3, digunakan dengan nilai baru untuk meneruskan (parameter sebenarnya)
Copy kode kodenya sebagai berikut:
// Asumsikan bahwa kelas Person telah didefinisikan, yang memiliki dua bidang nama (nama) dan umur (usia)
var p1 = Orang baru('Jack',26);
Semantik 4, sebagai operator panggilan untuk fungsi atau metode objek (jika parameter ditentukan, parameter aktual juga dapat diteruskan dengan cara yang sama seperti Semantik 3)
Copy kode kodenya sebagai berikut:
// Asumsikan bahwa fungsi func telah didefinisikan
fungsi();
// Asumsikan bahwa objek obj telah didefinisikan dan memiliki metode func
obj.func();
Ini adalah operator typeof, beberapa orang suka menggunakannya dengan cara ini
ketik(xxx);
Harap dicatat bahwa tanda kurung setelah typeof bukanlah semantik 4 (yaitu, bukan pemanggilan fungsi), tetapi semantik 5 yang disebutkan kemudian. Saya biasanya menggunakan typeof tanpa tanda kurung berikut.
Semantik 5, evaluasi ekspresi paksa
Mengenai Semantic 5, semua orang paling familiar menggunakan eval untuk mengurai JSON.
Copy kode kodenya sebagai berikut:
fungsi strToJson(str){
// Operator gaya () ditambahkan di kedua sisi string di eval
var json = eval('(' + str + ')');
kembalikan json;
}
Contoh lainnya adalah fungsi anonim sering digunakan untuk dieksekusi sendiri.
Copy kode kodenya sebagai berikut:
(fungsi(){
// ...
})();