谁能解释一下“?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 类的这种语法? [复制]