JavaScript
是一个非常有趣的语言,但同时也充满了各种奇怪的行为。这些奇怪的行为有时会搞砸我们的日常工作,有时则会让我们忍俊不禁。
WTFJS
这个开源项目的初衷只是因为好玩。收集一些疯狂的例子,并尽可能解释它们的原理,学习以前不了解的知识。
如果你是初学者,您可以根据此笔记深入了解 JavaScript。
如果你是专业开发人员,你将从这些例子中看到人见人爱的 JavaScript 也充满了非预期的边界行为。
总之,古人云:三人行,必有我师焉。我相信这些例子总能让你学习到新的知识。
这里拿出来几个例子看一下:
1.null 是假值,但又不等于 false
尽管 null 是假值,但它不等于 false。
代码语言:javascript复制!!null; // -> false
null == false; // -> false
但是,别的被当作假值的却等于 false,如 0 或 ''。
代码语言:javascript复制0 == false; // -> true
"" == false; // -> true
2. 数组相加
如果你尝试将两个数组相加:
代码语言:javascript复制[1, 2, 3] [4, 5, 6]; // -> '1,2,34,5,6'