有啥用?和:[重复]
Posted
技术标签:
【中文标题】有啥用?和:[重复]【英文标题】:What is the use of ? and : [duplicate]有什么用?和:[重复] 【发布时间】:2012-08-24 19:11:39 【问题描述】:可能重复: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";
有什么用?和:在这一行。如果有人知道,请告诉我。
【问题讨论】:
jQuery != JavaScript。这篇文章中没有 jQuery。完全没有。 【参考方案1】:它是一个运算符:
(条件)?真:假
是这样的:
if(param.style.display=="none")
param.style.display="";
else
param.style.display="none;
【讨论】:
【参考方案2】:这是三元运算符。 它的工作原理类似于 if else 语句。
查看此链接:
http://davidwalsh.name/learning-ternary-operators-tips-tricks
http://jqfundamentals.com/#example-2.16
【讨论】:
这个链接对我理解三元运算符真的很有帮助。【参考方案3】:这是三元条件运算符:表达式
Cond ? a : b
评估Cond
,如果为真则延迟返回a
,否则返回b
。
在您的情况下,表达式的整个结果被分配给param.style.display
。也就是说,如果display
已经设置为"none"
,则设置为""
,否则设置为"none"
。
此运算符在许多语言中都很常见,因为它为您提供了单个 表达式,其值取决于某事。
【讨论】:
我真的希望 JavaScript 包含第二个三元运算符,这样每个人都会感到困惑。 (开个玩笑,我只是想要它)【参考方案4】:在你的代码中它是这样工作的:
if(param.style.display=="none")
param.style.display = "";
else
param.style.display = "none";
【讨论】:
你明白了吗@Wasim Kazi ya Sandinp 现在我很清楚我们如何在 Jquery 中使用三元运算符了。【参考方案5】:称为条件(三元)运算符。
test ? expression1 : expression2
如果 test 为真,则返回表达式 1,否则返回表达式 2。
这不是特定于 jquery 的,而是一个 javascript 运算符。
欲了解更多信息,ternary operator javascript
【讨论】:
+1 用于获得正确的名称 (ecma-international.org/ecma-262/5.1/#sec-8.4)。 :-)【参考方案6】:x=a?b:c, ?: 是一个三元运算符(适用于 3 个操作数)。 这意味着如果 a 为真,则 x=b 否则 x=c
【讨论】:
【参考方案7】:if (param.style.display=="none")
param.style.display = "";
else
param.style.display = "none";
【讨论】:
以上是关于有啥用?和:[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Json.stringify() 有啥用,没有 stringify [重复]
spark中的lit()有啥用?下面的两段代码返回相同的输出,使用 lit() 有啥好处 [重复]