【发布时间】:2017-06-09 21:49:56
【问题描述】:
所以我在一个网站上查看某人的代码,然后环顾四周,我看到了这个:
var ǀ = 1;
var ǀǀ = 21;
var s = ǀǀ+(ǀ==ǀ-->ǀ+ǀ<--ǀ==ǀ)+ǀǀ;
document.writeln(s);
这在某种程度上等于 42?有谁知道他们是怎么做到的?我以为||和 | or在哪里?
【问题讨论】:
-
有很多运算符,而不是一个。有点像
1*1+1-1/1不是运算符。 -
嗯,您删除的Obama one 是回收的chuck Norris 问题。你刚刚问了一个JavaScript question,它是stackoverflow.com/q/1642028/73226 的回收版本,这个来自哪里?
-
计算结果为
21+(1==0>1+1<0==1)+21。这意味着:21+(false>2<false)+21。然后,false>2为假(因为 0false<false 为假(因为 0 == 0,而不是 0 -
这是 ES 10 中引入的新运算符 :)
-
@MartinSmith - 似乎是“42”的东西(生命、宇宙等)stackoverflow.com/questions/20555155/why-is-the-answer-42stackoverflow.com/questions/30790761/javascript-why-returns-42
标签: javascript