javascript - 我可以在 Javascript 中使用简写 if && 执行多个语句吗?

标签 javascript if-statement shorthand

var foo = true;

function doThis() {alert("do this");}
function doThat() {alert("do that");}

// fine
if(foo) {
    doThis();
    doThat();
}

// fine
foo && (doThis());

// NO, syntax error
foo && (doThis(); doThat(););

这可能吗?或者我根本不应该这样做?

最佳答案

是的,如果您用逗号分隔函数:

foo && (bar(), baz())

这是一种糟糕的编码实践,但它对于缩小代码或实现 code golf 的目的很有用。 .

if (foo) {
    bar();
    baz();
}

变成:

foo&&(bar(),baz())

if (!foo) {
    bar();
    baz();
}

变成:

foo||(bar(),baz())

if (foo) {
    bar();
    baz();
} else {
    fizz();
    buzz();
}

变成:

foo?(bar(),baz()):(fizz(),buzz())

虽然变量可能会在缩小器中重命名为类似的东西:

a&&(b(),c())

关于javascript - 我可以在 Javascript 中使用简写 if && 执行多个语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15991993/

相关文章:

javascript - 简写 if/else 语句 Javascript

javascript - 这些线路代码相同吗?

Python 速记运算符?

javascript - 如何在对象数组上使用 jQuery.each() 循环

javascript - 为什么我不能使用 JQuery style() 函数设置此 CSS 设置?

python - If, And Statement 没有在 Python 中输出准确的结果

java - 字符串到文本输出

JavaScript 库由于 undefined variable 而失败,但它只发生在页面加载的一半

javascript - 使用 Javascript 和 PHP 实现视频文件上传进度条

ios - Swift:如何比较 "if"子句中的可选值