我想要一种优雅的方式,仅在满足某些条件时才执行函数。我知道的两个选项是 if 条件和三级运算符。
如果
if(headerExists($listview) === false)
addHeader($listview, template);
高等教育
headerExists($listview) ? null : addHeader($listview);
对我来说,当您从整体上查看函数时,if 会使逻辑有点难以理解。第三个函数看起来很聪明,但你在任何地方都看不到它,并且必须声明 null 明显浪费了空间。
最佳答案
第三个选项是(ab)使用 short-circuit behaviour logical operators的:
!headerExists($listview) && addHeader($listview, template);
// or
headerExists($listview) || addHeader($listview, template);
但是,这只是一种缩小技术(甚至不会使代码变得更短)。出于可读性原因,如果您希望不使用 block 且在一行中使用 if 语句:
if (!headerExists($listview)) addHeader($listview, template);
关于javascript - 有没有一种方法可以用一行 JavaScript 有条件地调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767177/