我有以下代码:了解三元运营商
c.m & 3 || (b |= 2,
65 <= a && 90 >= a ? a = 65
: 48 <= a && 57 >= a ? a = 48
: b & 1 ? 97 <= a && 122 >= a ? a = 65
: 197 == a || 229 == a ? b &= 5
: 192 <= a && 687 >= a ? a = 192
: 1536 <= a ? a = 1536
: 912 <= a ? a = 912
: 160 <= a ? a = 160
: 127 <= a ? b &= 5
: 33 <= a ? a = 59
: b &= 5
: 48 > a ? b &= 5
: 65 > a ? a = 59
: 96 > a ? b &= 5
: 112 > a ? a = 96
: 187 > a ? b &= 5
: a = 59);
我很困惑,甚至从哪里开始。是||一个二元运算符?为什么在开始时有逗号?我想了解这段代码是如何工作的,并使用常规if,else,any重写它的任何提示?谢谢!
从变量名称看,这看起来像缩小的代码。有没有机会访问原始的非缩减源代码? –
你有一个长横向滚动代码片段,没有人可以遵循。我试图编辑但发现它很困难。 – Lion
首先阅读关于JavaScript中的运算符优先级和关联性。它可以让你分开操作员,建立一个操作树,并清楚地看到什么和什么时候被评估。 '||'是二进制(逻辑或),而'''分隔多个表达式并返回最后一个的值。 –