Kata -kata sebelumnya
Ada 46 operator di JavaScript. Selain operator aritmatika, operator relasional, operator bit, dan operator logis yang disebutkan sebelumnya, ada banyak operator. Artikel ini akan memperkenalkan operator bersyarat, operator koma, operator penugasan, () dan operator batal
Operator bersyarat
Operator bersyarat adalah satu -satunya operator ternary (tiga operan) di JavaScript, dan kadang -kadang disebut 'operator ternary' secara langsung. Biasanya operator ini ditulis sebagai '?:', tentu saja, seringkali tidak disingkat dalam kode, karena operator ini memiliki tiga operan, operan pertama sebelumnya '?', Operan kedua ada di antara '?' dan ':', dan operan ketiga adalah setelah ':'
variabel = boolean_expression? true_value: false_value;
Pada dasarnya, ini didasarkan pada hasil evaluasi boolean_expression, yang menentukan nilai apa pada variabel variabel. Jika hasil evaluasi benar, maka variabel variabel variabel ditetapkan true_value; Jika hasil evaluasi salah, maka variabel variabel ditetapkan false_value_value
Operan operator bersyarat dapat dari jenis apa pun, operan pertama diperlakukan sebagai nilai boolean, dan jika itu benar, operan kedua akan dihitung dan hasil perhitungannya akan dikembalikan. Jika tidak, jika operan pertama adalah nilai yang salah, operan ketiga dihitung dan hasil perhitungannya dikembalikan. Operan kedua dan ketiga selalu menghitung salah satunya, dan tidak mungkin untuk mengeksekusi keduanya secara bersamaan.
Faktanya, menggunakan pernyataan IF juga akan membawa efek yang sama, operator '?:' hanya menyediakan bentuk steno. Berikut adalah skenario aplikasi yang khas untuk '?:', untuk menentukan apakah suatu variabel didefinisikan (dan memiliki nilai kebenaran yang bermakna), gunakan jika ada definisi, dan gunakan nilai default jika tidak ada definisi:
salam = 'halo' + (nama pengguna? Nama pengguna: 'There');
Ini setara dengan kode di bawah ini menggunakan pernyataan IF, tetapi jelas kode di atas lebih ringkas:
salam = 'halo'; if (nama pengguna) salam += nama pengguna; else salam += 'ada';
Ekspresi bersyarat terner memiliki efek ekspresi yang sama dengan pernyataan IF ... selain itu, tetapi ada perbedaan yang signifikan antara keduanya. Jika ... lain adalah pernyataan dan tidak memiliki nilai pengembalian; Ekspresi bersyarat terner adalah ekspresi dan memiliki nilai pengembalian. Oleh karena itu, dalam kasus di mana nilai pengembalian diperlukan, Anda hanya dapat menggunakan ekspresi bersyarat terner, dan bukan jika ... lain
console.log (true? 't': 'f');
Dalam kode di atas, parameter metode konsol.log harus berupa ekspresi, dan hanya ekspresi bersyarat terner yang dapat digunakan.
Operator koma
Operator koma adalah operator biner, dan operannya dapat dari jenis apa pun. Pertama menghitung operan kiri, kemudian menghitung operan kanan, dan akhirnya mengembalikan nilai operan kanan. Gunakan operator koma untuk melakukan beberapa operasi dalam sebuah pernyataan
i = 0, j = 1, k = 2; // Hasil perhitungan adalah 2, yang pada dasarnya setara dengan kode di bawah i = 0; j = 1; k = 2;
Operator koma sering digunakan untuk mendeklarasikan beberapa variabel
var inum1 = 1, inum = 2, inum3 = 3;
Skenario yang paling umum untuk operator koma adalah dalam loop, yang biasanya memiliki beberapa variabel loop:
// Koma pertama dalam loop untuk adalah bagian dari pernyataan VAR // Koma kedua adalah operator koma // ini menempatkan dua ekspresi (i ++ dan j--) dalam pernyataan untuk (var i = 0, j = 10; i <j; i ++, j-) {konsol.log (i+j);}Operator koma juga dapat digunakan untuk penugasan, dan ketika digunakan untuk penugasan, operator koma selalu mengembalikan item terakhir dalam ekspresi.
var num = (1,2,3,4,5); console.log (num); // 5
[Catatan] Hapus tanda kurung dan akan melaporkan kesalahan
Operator penugasan
Operator penugasan sederhana diwakili oleh tanda yang sama '=', yang menetapkan nilai di sebelah kanan tanda yang sama ke variabel atau atribut di sebelah kiri tanda yang sama.
i = o; ox = 1;
Operator '=' mengharapkan operan kirinya menjadi lvalue: atribut variabel atau objek (atau elemen array). Operan yang tepat dapat berupa nilai apa pun dari jenis apa pun. Nilai ekspresi penugasan adalah nilai operan yang tepat
Meskipun ekspresi penugasan biasanya sangat sederhana, kadang -kadang Anda masih akan melihat beberapa ekspresi kompleks yang berisi ekspresi penugasan. Misalnya, Anda dapat menempatkan operator tugas dan relasional dalam satu ekspresi, seperti ini:
(a = b) == 0
Jika Anda melakukan ini, Anda harus tahu dengan jelas perbedaan antara operator '=' dan '=='. '=' memiliki prioritas yang sangat rendah. Biasanya ketika nilai pernyataan penugasan digunakan dalam ekspresi yang lebih lama, tanda kurung perlu ditambahkan untuk memastikan urutan operasi yang benar.
Sifat pengikatan dari operator penugasan berasal dari kanan ke kiri, yaitu, jika beberapa operator penugasan muncul dalam ekspresi, urutan operasi berasal dari kanan ke kiri. Oleh karena itu, beberapa variabel dapat ditetapkan dengan cara berikut:
i = j = k = 0; // inisialisasi tiga variabel ke 0
JavaScript juga menyediakan 11 operator penugasan majemuk. Operator penugasan senyawa ini adalah semua operasi yang ditentukan terlebih dahulu, dan kemudian mengembalikan nilai yang diperoleh ke variabel di sebelah kiri.
[Catatan] Tujuan merancang operator ini adalah untuk menyederhanakan operasi penugasan, dan menggunakannya tidak akan membawa peningkatan kinerja.
Total + = Sales_tax; // Setara dengan Total = Total + Sales_tax;
Contoh operator setara dengan+= a+= Ba = a+b- = a- = Ba = ab*= a*= Ba = a*b/= a/= Ba = a/b%= a%= Ba = a%b << = a << = Ba = a << b >> = a> = A> = Ba = a> B>> = A & = BA = A & B | = A | = BA = A | B^= A^= BA = A^B.
Dalam kebanyakan kasus, ungkapannya adalah:
a op = b
Di sini OP mewakili operator, dan ekspresi ini setara dengan ekspresi berikut
A = A OP B
Pada baris pertama, ekspresi A dihitung sekali, dan di baris kedua, ekspresi A dihitung dua kali. Hanya jika A berisi ekspresi dengan efek samping (seperti panggilan fungsi dan operasi penugasan) keduanya akan menjadi ketidaksetaraan
data [i ++]*= 2; data [i ++] = data [i ++]*2;
Operator braket
Ada dua penggunaan operator braket: jika ekspresi ditempatkan dalam tanda kurung, fungsinya adalah untuk mengevaluasi; Jika diikuti oleh suatu fungsi, fungsi tersebut adalah untuk memanggil fungsi.
Masukkan ekspresi dalam tanda kurung dan mengembalikan nilai ekspresi
console.log ((1)); //1console.log(('a ')); //'a'console.log((1+2)); // 3Menempatkan objek dalam tanda kurung akan mengembalikan nilai objek, yaitu objek itu sendiri
var o = {p: 1}; console.log ((o)); // objek {p: 1}Menempatkan fungsi dalam tanda kurung mengembalikan fungsi itu sendiri. Jika tanda kurung mengikuti fungsi, itu berarti memanggil fungsi, yaitu mengevaluasi fungsi
fungsi f () {return 1;} console.log ((f)); // function f () {return 1;} console.log (f ()); // 1Karena tujuan tanda kurung adalah untuk mengevaluasi, jika pernyataan ditempatkan di tanda kurung, kesalahan akan dilaporkan karena pernyataan tersebut tidak mengembalikan nilainya
console.log (var a = 1); // sintakserror: token tak terduga varconsole.log ((var a = 1)); // sintakserror: token tak terduga var
operator batal
Void adalah operator unary. Itu muncul di hadapan operan. Operan dapat dari jenis apa pun. Operan akan dihitung seperti biasa, tetapi hasil perhitungan diabaikan dan tidak ditentukan dikembalikan. Karena void mengabaikan nilai operan, gunakan batal saat operan memiliki efek samping untuk membuat program lebih semantik
console.log (void 0); // undefinedconsole.log (void (0)); // belum diartikan
【Fungsi 1】 Ganti yang tidak ditentukan
Karena tidak terdefinisi bukanlah kata kunci, itu akan ditulis ulang di IE8-browser dan dalam ruang lingkup fungsi versi tinggi; Oleh karena itu, tidak terdefinisi dapat diganti dengan void 0
var tidak terdefinisi = 10; console.log (tidak terdefinisi); // ie8-it adalah 10 di bawah browser, dan fungsi tidak terdefinisi t () {var tidak terdefinisi = 10; console.log (tidak terdefinisi);} console.log (t ()); // Ini 10 di bawah semua browser【Peran 2】 URL Klien
Operator ini paling umum digunakan dalam URL klien - JavaScript: URL. Ekspresi dengan efek samping dapat ditulis dalam URL, sementara Void memungkinkan browser untuk menghindari menampilkan hasil perhitungan dari ekspresi ini. Misalnya, operator void sering digunakan dalam tag <a> dalam kode html
<a href = "javascript: void window.open ();"> Buka jendela baru </a>
【Efek tiga】 acara default blok
Cara untuk memblokir acara default adalah dengan mengatur nilai pengembalian ke false.
// Metode Penulisan Umum <a href = "http://example.com" onclick = "f (); return false;"> teks </a>
Gunakan operator void untuk mengganti metode penulisan di atas
<a href = "javascript: void (f ())"> teks </a>
Artikel di atas secara singkat membahas operator JavaScript - kondisi, koma, penugasan, () dan operator batal adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.