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/