jQuery 语句中的三元运算符

Ternary Operator in jQuery statement

我是 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}`);

感谢任何解释:)

您需要将传递给 url() 的第二个参数扩展为 ifelse,因为它首先被评估:

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

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

如果您正在寻找传统 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)

有时它们可​​能难以破译,但在适当的情况下(比如这个)它们可以让您免于编写 'extra' 代码。