【发布时间】:2012-11-27 22:46:43
【问题描述】:
我有一个旧脚本。这是其中的一部分:
var e = e ? e : event;
所以,这里没有错。但我主要将三元用于工具。可以这样安全地重写吗
var e = e || event;
不使用这个有什么隐藏的原因吗?
【问题讨论】:
-
我发现第一个更具可读性。
-
我发现第二个更易读,上个月就发生了这个确切的争议(我会尝试找到它,但它会很难)。也别忘了最简单的
if (!e) e = event;。 -
@Cthulhu 这两个表达式都非常简单,因此这里的可读性不是问题。您似乎不习惯使用
||运算符。它经常用于这些类型的检查。不过,我会放弃括号。 -
e是当前函数的参数吗?如果是,则无需通过var声明具有相同名称的变量。 -
@Kos
if (!e) e = event;是要走的路。与 OP 的示例不同,此处仅在必要时进行分配。
标签: javascript ternary-operator logical-operators