Apakah ini benar?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
Apakah ini benar?
if(condition)
{
}
elseif(condition)
{
}
else
{
}
Jawaban:
JavaScript's ifif dalam format "else if", misalnya:
if (condition) {
} else if (other_condition) {
} else {
}
elseif
, perl punya elsif
(saya pikir), dan Python sudah elif
.. pada mulanya membuat saya kesal, tapi ... Saya kira itu agak lucu. Itu melayani sedikit tujuan dalam Python dan PHP, karena itu tidak akan bekerja dengan sintaks usus mereka sebaliknya.
if
/ else
blok, tetapi orang-orang dianjurkan untuk menggunakannya, jadi saya bisa mengerti mengapa ini terlihat tidak benar bagi pengguna baru.
Anda bisa menggunakan sintaks ini yang secara fungsional setara:
switch (true) {
case condition1:
//e.g. if (condition1 === true)
break;
case condition2:
//e.g. elseif (condition2 === true)
break;
default:
//e.g. else
}
Ini berfungsi karena masing condition
- masing sepenuhnya dievaluasi sebelum dibandingkan dengan switch
nilai, sehingga yang pertama dinilai true
akan cocok dan cabangnya akan dieksekusi. Cabang berikutnya tidak akan dieksekusi, asalkan Anda ingat untuk menggunakannyabreak
.
Perhatikan bahwa perbandingan ketat digunakan, sehingga cabang yang condition
hanya "benar" tidak akan dieksekusi. Anda dapat melemparkan nilai truthy untuk true
dengan negasi ganda: !!condition
.
switch (true)
bahkan tidak masuk akal.
true
maka kasing itu akan terpenuhi - persis seperti else if
.
if([]) alert('a')
menghasilkan boolean, mis. Menghasilkan peringatan tetapi switch(true){case []:alert('a')}
tidak. Itu karena []
nilai kebenaran tetapi tidak sama dengan true
, seperti yang dijelaskan oleh @zwol dalam hasil edit ini .
Sebenarnya, secara teknis ketika indentasi benar, itu akan menjadi:
if (condition) {
...
} else {
if (condition) {
...
} else {
...
}
}
Tidak ada else if
, secara tegas.
(Pembaruan: Tentu saja, seperti yang ditunjukkan, gaya di atas tidak dianggap baik.)
if (condition1) { ... } else if (condition2) { ... } else { ... }
.
else if
Anda sebenarnya menghilangkan blok opsional {...}
. Saya merujuk berdasarkan EMCAScript dan MDN ..
else { if ... }
adalah gaya yang baik.
if ( 100 < 500 ) {
//any action
}
else if ( 100 > 500 ){
//any another action
}
Mudah, gunakan ruang
Pernyataan bersyarat digunakan untuk melakukan tindakan yang berbeda berdasarkan kondisi yang berbeda.
Gunakan if
untuk menentukan blok kode yang akan dieksekusi, jika kondisi yang ditentukan benar
Gunakan else
untuk menentukan blok kode yang akan dieksekusi, jika kondisi yang sama salah
Gunakan else if
untuk menentukan kondisi baru untuk diuji, jika kondisi pertama salah
Anda kehilangan ruang antara else
danif
Seharusnya else if
bukanelseif
if(condition)
{
}
else if(condition)
{
}
else
{
}
if
danelse
benar-benar tidak perluelseif
.