【问题标题】: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。完全没有。

标签: javascript html


【解决方案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";
      

      【讨论】:

        猜你喜欢
        • 2019-10-08
        • 1970-01-01
        • 2017-02-17
        • 2011-09-27
        • 2013-04-22
        • 2012-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多