-1
    options.domain ? '; domain=' + options.domain : '',

有人可以解释一下放的目的是什么吗?在 options.domain 之后。我知道这很简单。但我对 JS 并不陌生。

4

5 回答 5

0

这称为(单行语句)ternary operator ?:if..else

句法: var variableName = testCondition ? op1 : op2;

我猜你错过了分配的变量

var dom = options.domain ? '; domain=' + options.domain : '';

相当于

if (options.domain) {
   dom = '; domain=' + options.domain
}

else {
  dom = '';
}
于 2013-11-12T05:11:40.470 回答
0

它被称为三元运算符,本质上它们是等价的:

// Item 1
var x = options.domain ? '; domain=' + options.domain : '';

// Item 2
var x;
if (options.domain) {
    x = '; domain=' + options.domain;
} else {
    x = '';
}
于 2013-11-12T05:12:34.500 回答
0

三元运算符就像简单的 if,else 语句,如:

condition ? option1 : option2 ; 

类似于

if(condition)
{
option1;
}
else
{
option2;
}
于 2013-11-12T05:13:53.957 回答
0

这是一种类似的if声明。

return condition ? x : y;

三元运算符逻辑是使用"(condition) ? (true return value) : (false return value)"语句来缩短 if/else 结构的过程。

于 2013-11-12T05:14:11.640 回答
0

那就是所谓的ternary operator。它根据条件返回两个表达式之一。

句法:

test ? expression1 : expression2

测试

任何布尔表达式。

表达式1:

如果 test 为真,则返回一个表达式。可能是逗号表达式。

表达式2:

如果 test 为 false,则返回表达式。多个表达式可以通过逗号表达式链接。

于 2013-11-12T05:14:48.310 回答