Ada pertanyaan wawancara JS, pertanyaannya adalah sebagai berikut: Apa hasil eksekusi dari kode berikut dan mengapa?
Salinan kode adalah sebagai berikut:
var i, j, k;
untuk (i = 0, j = 0; i <10, j <6; i ++, j ++) {
k = i+j;
}
document.write (k);
Jawabannya adalah menunjukkan 10. Pertanyaan ini terutama memeriksa operator koma JavaScript.
Berikut adalah definisi operator koma oleh MDN:
Operator koma menghitung dua operan (dari kiri ke kanan) dan mengembalikan nilai operan kedua.
Menurut definisi ini, Anda dapat memperpanjangnya:
Operator koma menghitung dua atau lebih operan dari kiri ke kanan dan mengembalikan nilai operan terakhir.
Anda dapat merasakan kode berikut:
Salinan kode adalah sebagai berikut:
peringatan ((0, 9));
peringatan ((9, 0));
if (0,9) peringatan ("ok");
if (9,0) alert ("OK");
Apa peran operator koma dalam kode aktual?
1. Variabel pertukaran tanpa variabel ketiga
Salinan kode adalah sebagai berikut:
var a = "a", b = "b";
// Metode 1
a = [b] [b = a, 0];
// Metode 2
a = [b, b = a] [0];
2. Sederhanakan kode
Salinan kode adalah sebagai berikut:
if (x) {
foo ();
return bar ();
}
kalau tidak{
kembali 1;
}
Dapat disingkat sebagai:
Salinan kode adalah sebagai berikut:
mengembalikan x? (foo (), bar ()): 1;