JavaScript 是我们都喜欢的语言……有时甚至想敲键盘。它无处不在!从让你的按钮起舞,到凌晨 2 点破坏你的网站,原因无人能解释。
JavaScript 非常强大、古怪而且非常奇怪。让我们来谈谈它所做的一些最疯狂的事情。
你没看错。 “NaN”代表“不是数字”,但 JavaScript 将其归类为数字。就像有人说,“我不饿……但是我们去吃饭吧。”
console.log(typeof NaN); // "number"
为什么,JavaScript?为什么?
添加两个数组时会发生什么?你可能认为 JavaScript 会抛出错误,对吗?没有。它只是……将它们连接成一个字符串。
console.log([1, 2] + [3, 4]); // "1,23,4"
这不是加法,而是加法。这是无稽之谈。但是,嘿,这就是适合您的 JavaScript。
在控制台中尝试一下:
console.log(true + true); // 2
是的。因为 true 被视为 1 并且 JavaScript 认为,“数学在这里有意义!”它没有,但让我们假设它有意义。
未定义意味着某些东西还没有被赋值。 null 表示为空。
但它们是一样的吗?没有。
console.log(undefined == null); // true console.log(undefined === null); // false
困惑吗?我也是。每个新的 JavaScript 开发人员也是如此。
啊,这个。 JavaScript 学习者的祸根。在一种情况下,这是一个对象。在另一个情况下,它是未定义的。在箭头函数中?这完全是另一回事。
const obj = { name: "JavaScript", regular: function () { console.log(this.name); }, arrow: () => { console.log(this.name); }, }; obj.regular(); // "JavaScript" obj.arrow(); //
每当你认为你理解了这一点时,JavaScript 就会把你的地毯从你下面拉出来。
在 JavaScript 中,== 并不总是关心类型。因此,它会尝试为您转换内容。这很好......直到它不是。
console.log(0 == "0"); // true console.log(0 == []); // true console.log([] == ""); // true
帮自己一个忙:使用 === 代替。总是。
JavaScript 中最大的数字是多少?无穷大。什么比最小的还小?负无穷大。是的,你可以用它们做数学。
console.log(Infinity - Infinity); // NaN console.log(Infinity > 1000000); // true
JavaScript 只是随意地证明了数学是相对的。
您是否曾经深入研究 JavaScript 代码并想知道如何检查密钥是否存在?在这篇博客中,解释了 4 种不同的方法。
JavaScript 很神奇,不是吗?它使网站具有互动性和活力。它最酷的功能之一是时间事件。如果这听起来很技术性,请不要担心;我会分解它。
掌握JavaScript强大的拼接方法!了解如何轻松添加、删除和替换数组元素。通过这个终极指南简化您的代码。
尽管 JavaScript 有其怪异之处,但它......令人惊叹。它可以让您构建整个应用程序、使网站具有交互性,甚至可以控制机器人!这有点疯狂,但这就是它的魅力的一部分。
JavaScript 教会我们耐心,让我们笑(和哭),并最终完成工作。拥抱怪异。
以上是JavaScript 中的疯狂事物:爱它还是恨它的详细内容。更多信息请关注PHP中文网其他相关文章!