t = 1
c = [1,2,3,4]
1 !== t && 2 !== t || (c[t] = 1)
结果输出c:[1,1,3,4],第3行的运行顺序是什么?
答案 0 :(得分:0)
if ( !(1 !== t && 2 !== t) )
c[t] = 1;
与以下相同:
if (t === 1 || t === 2)
c[t] = 1;
因此,基本上,如果t等于1或等于2,则它将c [t]设置为1。
c [t]是c [1],它是数组中的第二个值。因此它曾经是2,然后被设置为1。
答案 1 :(得分:0)
1 !== t
为假,因为t等于1。
因此2 !== t
不会得到评估。
它立即跳到||。 (OR)条款
(c[t]=1)
由于t = 1,因此c [t] = 1将数组c中的第二个元素设置为值1。
然后,其周围的()
进行评估并返回结果,因此c被记录到控制台。
由于我们将c内的第二个值更改为1,我们得到了[1,1,3,4]