jquery - 这行代码做了什么?

时间:2010-07-22 03:37:17

标签: jquery

在colorbox插件中,我有这一行:

.css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})

出于我的目的,我需要将溢出设置为“可见”。如果我这样做:

.css({width: getWidth(), overflow: settings.scrolling ? 'visible' : 'visible'})

然后一切正常。但是我想了解发生了什么(主要是在行尾)。我猜这意味着“如果设置是这样,那么这样做,否则这样做”。是对的吗?我想我只是不明白语法是什么等等。

感谢。

2 个答案:

答案 0 :(得分:3)

您所看到的是ternary statement。基本上它是If / Else的捷径。

settings.scrolling ? 'auto' : 'hidden';

相当于

if(settings.scrolling){
  return 'auto';
}
else{
  return 'hidden';
}

答案 1 :(得分:1)

你可以这样做:

.css({width: getWidth(), overflow: 'visible'})

是的,你对最后一行的做法是正确的。这是一个ternary operation