谁能解释一下“?currentPosition+1 : currentPosition-1;”是啥意思[复制]

Posted

技术标签:

【中文标题】谁能解释一下“?currentPosition+1 : currentPosition-1;”是啥意思[复制]【英文标题】:Who can explain what means "? currentPosition+1 : currentPosition-1;" [duplicate]谁能解释一下“?currentPosition+1 : currentPosition-1;”是什么意思[复制] 【发布时间】:2015-01-06 14:05:30 【问题描述】:

是幻灯片示例的一部分 我无法理解这部分。 谁能详细解释一下:

        currentPosition = ($(this).attr('id')=='rightNav')
        ? currentPosition+1 : currentPosition-1;

他们将如何写作?(只是为了理解)

            currentPosition = ($(this).attr('id')=='rightNav')
            ? currentPosition+1 : currentPosition-1;

【问题讨论】:

它正在检查当前元素的 id 值是否等于 rightNav 如果是,则 currentPosition 变量将等于 CurrentPosition + 1 如果不等于,则 currentPosition 将等于 currentPosition - 1 你可以阅读php中的三元运算符php.net/manual/en/language.operators.comparison.php @Robin 当问题是关于 JS 时,您正在链接到 PHP 文档?我知道他们做同样的事情,但仍然...... 抱歉,老兄回答的太匆忙了。 【参考方案1】:

它的条件类型,表示如果条件为真,currentPosition将加1,否则减1。

所以它会是一样的:

if ($(this).attr('id') == 'rightNav') 
  currentPosition += 1;

else 
  currentPosition -= 1;

【讨论】:

【参考方案2】:

是ternary operator,基本上是一个短的if。

等价的如下:

if ($(this).attr('id') == 'rightNav') 
    currentPosition += 1;
 else 
    currentPosition -= 1;

【讨论】:

+1 是实际给出操作员名称的唯一答案。 @Rory McCrossan:实际上这是运算符的类型(即它有 3 个部分)。 那个特定的三元运算符的名字是conditional operator。 JS 中恰好只有一个三元运算符,所以这些术语被滥用了。

以上是关于谁能解释一下“?currentPosition+1 : currentPosition-1;”是啥意思[复制]的主要内容,如果未能解决你的问题,请参考以下文章

谁能解释一下预定义的 GenericModel 类的这种语法? [复制]

Scala:谁能解释一下?

谁能解释一下这个 NSPredicate 语法

谁能解释一下 vuetify 主题代码

我正在研究沙发底座,谁能解释一下bucket和vbucket到底是啥?

GWT RPC 中同步和异步接口的作用是啥。谁能详细解释一下?