我想了解一行Javascript。希望有人可以帮助我理解这行代码的含义。
var direction = this.hasClass('up') ? 'up' : 'down';
我有兴趣理解的是?
和:
答案 0 :(得分:8)
这是执行条件表达式的ternary operator。相当于:
var direction;
if (this.hasClass('up'))
{
direction = 'up';
}
else
{
direction = 'down';
}
采用格式
condition ? return if true : return if false
在这种情况下,返回值将分配给变量(方向)。
答案 1 :(得分:2)
这是ternary conditional operator。
如果当前元素具有direction
类,则表示“将up
设置为up
,否则将其设置为down
”。
顺便说一下,你可能真的想要:
var direction = $(this).hasClass('up') ? 'up' : 'down';
答案 2 :(得分:2)
这不是特定于jQuery的,因为它是JavaScript中ifelse的快捷方式。
var direction = this.hasClass('up') ? 'up' : 'down';
表示:
var direction;
if(this.hasClass('up'))
direction = 'up';
else
direction = 'down';
语法:
var result = condition ? trueValue : falseValue;