我正在使用预编译的代码,我必须为以下if语句添加else
语句:
if(F && F[0]) for(var i=0; i<F.length; i++) readImage( F[i], '1417', '1417');
我通常使用这种类型的语句快捷方式:
if(dog == 'billy') ? true : false ;
但无法弄清楚第一个。
答案 0 :(得分:3)
您可以在if
/ for
/ while
等语句中放置一行代码,而无需使用括号。以下代码不会执行bar()
,但会执行rab()
:
var foo = false;
if (foo)
bar();
rab();
缩进代码看起来像这样:
if(F && F[0])
for(var i=0; i<F.length; i++)
readImage( F[i], '1417', '1417');
这与此基本相同:
if(F && F[0]) {
for(var i=0; i<F.length; i++) {
readImage( F[i], '1417', '1417');
}
}
所以你可以把它重写为:
if(F && F[0]) {
for(var i=0; i<F.length; i++) {
readImage( F[i], '1417', '1417');
}
} else {
//Something else
}
答案 1 :(得分:3)
将事物混合成一行通常会增加混淆感。您的第一个代码块是:
if(F && F[0])
for(var i=0; i<F.length; i++)
readImage( F[i], '1417', '1417');
所以你需要做的就是添加else:
if(F && F[0])
for(var i=0; i<F.length; i++)
readImage( F[i], '1417', '1417');
else
//something
我个人觉得使用括号更加容易,它使一切变得更容易理解:
if(F && F[0]) {
for(var i=0; i<F.length; i++) {
readImage( F[i], '1417', '1417');
}
}
else {
//something
}
关于你通常的说法,你会混淆两种不同的技术,标准如果:
if(dog == 'billy')
//true
else
//false
和条件运算符(通常称为三元),它不需要if
部分,通常用于条件赋值:
var isTheDogCalledBilly = dog == 'billy' ? true : false;