有什么用?并且:

时间:2012-08-30 05:29:05

标签: javascript html

  

可能重复:
  JS How to use the ?: (ternary) operator

我在该插件中下载了一个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";

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

7 个答案:

答案 0 :(得分:3)

这是一个运营商:

  

(条件)? true:false

就像:

if(param.style.display=="none")
       param.style.display="";
else
       param.style.display="none;

答案 1 :(得分:2)

这是三元运营商。 它就像if else声明一样。

查看此链接:

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

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

答案 2 :(得分:2)

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

Cond ? a : b

评估Cond并懒惰返回a如果为真,否则返回b

您案例中表达式的整个结果将分配给param.style.display。换句话说,如果display已设置为"none",则会将其设置为"",否则将设置为"none"

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

答案 3 :(得分:2)

在你的代码中它的工作原理如下:

if(param.style.display=="none"){
   param.style.display = "";  
} else{
    param.style.display = "none";  
}

答案 4 :(得分:1)

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

test ? expression1 : expression2

如果test为true,则返回表达式1 else返回表达式2.

这不是jquery特有的,而是javascript操作符。

有关详细信息,请ternary operator javascript

答案 5 :(得分:0)

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

答案 6 :(得分:0)

if (param.style.display=="none")
  param.style.display = "";
else
  param.style.display = "none";