以下简写等同于什么?
if (windowwidth >= 960){
widthofwindow = 1;
} else {
widthofwindow = 0;
}
答案 0 :(得分:11)
您可以使用三元运算符:
widthofwindow = windowwidth >= 960 ? 1 : 0
您可以将其视为
condition ? value_if_true : value_if_false
答案 1 :(得分:4)
如果您愿意,可以使用一些黑客(除了三元运算符)
widthofwindow = Number(windowwidth >= 960);
使用
Number(value)
表达式时,执行类型转换(value => Number),如果windowwidth >= 960
为true
,则将其转换为1,否则为0。请注意,由于您不想创建对象,因此不使用new
关键字 - 您只想将一种类型转换为另一种类型。可在此处找到更多信息:Number (MDN)
或
widthofwindow = (windowwidth >= 960) * 1;
这种情况(以及
+(value)
)是JS中另一种类型转换方法的示例。当您乘以(或使用一元+符号)时,您的布尔值也会变为具有相应值的Number
。您可以在此处找到一些信息:JavaScript Garden
答案 2 :(得分:0)
windowwidth = windowwidth >= 960 ? 1 : 0;
答案 3 :(得分:0)
result = (condition) ? 'something' : 'somethingelse';
http://javascript.about.com/od/byexample/a/ternary-example.htm