1

下面的简写等价物是什么?

if (windowwidth >= 960){
        widthofwindow = 1;
    } else {
        widthofwindow = 0;
    }
4

4 回答 4

12

您可以使用三元运算符:

widthofwindow = windowwidth >= 960 ? 1 : 0

你可以读成

condition ? value_if_true : value_if_false
于 2013-08-07T13:11:29.483 回答
4

如果您愿意,您可以使用一些技巧(除了三元运算符)

widthofwindow = Number(windowwidth >= 960);

使用Number(value)表达式时,将执行类型转换(值 => 数字),并且在这种情况下,如果windowwidth >= 960true,则将其强制转换为 1,否则强制转换为 0。请注意,没有new使用关键字,因为您不想创建对象 - 您只想将一种类型转换为另一种类型。

更多信息可以在这里找到:号码 (MDN)

或者

widthofwindow = (windowwidth >= 960) * 1;

这种情况(以及+(value))是另一种在 JS 中进行类型转换的示例。当您相乘(或使用一元 + 符号)时,您的布尔值也变为Number具有相应值的 a。

你可以在这里找到一些信息:JavaScript Garden

于 2013-08-07T13:14:02.343 回答
0
windowwidth = windowwidth >= 960 ? 1 : 0;
于 2013-08-07T13:12:55.793 回答
0
result = (condition) ? 'something' : 'somethingelse';

http://javascript.about.com/od/byexample/a/ternary-example.htm

于 2013-08-07T13:14:26.020 回答