0

可能重复:
JS 如何使用?:(三元)运算符

我在该插件中下载了一个用于 wordpress 的插件,其中有一个 javascript。进入那个js代码我不明白它是如何工作的。

function ddet_javascript() {

echo '
<script language="JavaScript" type="text/javascript"><!-- 
function expand(param) { 
param.style.display=(param.style.display=="none") ? "" : "none"; 
 } 
  //--></script>';
}

在这段代码中,我不理解下面给出的行。

param.style.display=(param.style.display=="none") ? "" : "none";

有什么用?和:在这一行。如果有人知道,请告诉我。

4

7 回答 7

3

它是一个运算符:

(健康)状况) ?真假

它像是:

if(param.style.display=="none")
       param.style.display="";
else
       param.style.display="none;
于 2012-08-30T05:32:15.930 回答
2

这是三元运算符。它的工作原理类似于 if else 语句。

查看此链接:

http://davidwalsh.name/learning-ternary-operators-tips-tricks

http://jqfundamentals.com/#example-2.16

于 2012-08-30T05:30:41.803 回答
2

这是三元条件运算符:表达式

Cond ? a : b

如果为真,则计算Cond并延迟返回,否则返回。ab

在您的情况下,表达式的整个结果都分配给param.style.display. 换句话说,如果display已经设置为"none",则设置为"",否则设置为"none"

该运算符在许多语言中很常见,因为它为您提供了一个表达式,其值取决于某事。

于 2012-08-30T05:32:10.627 回答
2

在您的代码中,它的工作方式如下:

if(param.style.display=="none"){
   param.style.display = "";  
} else{
    param.style.display = "none";  
}
于 2012-08-30T05:33:56.550 回答
1

它被称为条件(三元)运算符。

test ? expression1 : expression2

如果 test 为真,则返回表达式 1,否则返回表达式 2。

这不是特定于 jquery 而是一个 javascript 运算符。

欲了解更多信息,三元运算符 javascript

于 2012-08-30T05:34:01.647 回答
0

x=a?b:c, ?: 是一个三元运算符(适用于 3 个操作数)。这意味着如果 a 为真,则 x=b 否则 x=c

于 2012-08-30T05:31:39.250 回答
0
if (param.style.display=="none")
  param.style.display = "";
else
  param.style.display = "none";
于 2012-08-30T05:32:52.890 回答