jQuery语句中的三元运算符

时间:2016-01-19 15:05:26

标签: javascript jquery css if-statement ternary-operator

我是Javascript,CSS,HTML和jQuery的新手,并且遇到了使用condition ? if true : if false语句的这行代码,我试图理解它。它的等同if() {} else {}语句会是什么样的?这是代码行:

$('.app-container').css('background', this.background ? `url(${this.background.get('Href')})` : `url(${DefaultImage.Background}`);

感谢您的任何解释:)

2 个答案:

答案 0 :(得分:2)

您需要将传递给url()的第二个参数扩展为ifelse,因为首先会对其进行评估:

if (this.background)
    bgurl = `url(${this.background.get('Href')})`
else 
    bgurl = `url(${DefaultImage.Background})`

$('.app-container').css('background', bgurl);

答案 1 :(得分:2)

如果您正在寻找使用传统if-else

的确切结果
if (this.background)
    $('.app-container').css('background', `url(${this.background.get('Href')})`);
else
    $('.app-container').css('background',`url(${DefaultImage.Background}`);

在javascript中,三元运算符遵循这个基本前提:

(condition) ? (what will happen if condition evaluates to true) : (what will happen if condition evaluates to false)

有时它们很难破译,但在正确的情况下(如此),它们可以帮助您免于编写“额外”代码。