javascript 是我们都喜欢的语言……有时甚至想敲键盘。它无处不在!从让你的按钮起舞,到凌晨 2 点破坏你的网站,原因无人能解释。
javascript 非常强大、古怪而且非常奇怪。让我们来谈谈它所做的一些最疯狂的事情。
1.“nan”是一个数字吗?
你没看错。 “nan”代表“不是数字”,但 javascript 将其归类为数字。就像有人说,“我不饿……但是我们去吃饭吧。”
1
console.log(typeof nan); // "number"
为什么,javascript?为什么?
2. 添加数组?当然,为什么不呢。
添加两个数组时会发生什么?你可能认为 javascript 会抛出错误,对吧?没有。它只是……将它们连接成一个字符串。
1
console.log([1, 2] + [3, 4]); // "1,23,4"
这不是加法,而是加法。这是无稽之谈。但是,嘿,这就是适合您的 javascript。
3.真 真=2?
在控制台中尝试此操作:
1
console.log(true + true); // 2
是的。因为 true 被视为 1 并且 javascript 认为,“数学在这里有意义!”它没有,但让我们假设它有意义。
立即学习“Java免费学习笔记(深入)”;
4. 神秘的未定义和空
未定义意味着某些东西还没有被赋值。 null 表示它是空的。
但它们是一样的吗?没有。
1
2
console.log(undefined == null); // true
console.log(undefined === null); // false
困惑吗?我也是。每个新的 javascript 开发人员也是如此。
5.这个问题
啊,这个。 javascript 学习者的祸根。在一种情况下,这是一个对象。在另一个情况下,它是未定义的。在箭头函数中?这完全是另一回事。
1
2
3
4
5
6
7
8
9
10
11
12
const obj = {
name: "javascript",
regular: function () {
console.log(this.name);
},
arrow: () => {
console.log(this.name);
},
};
obj.regular(); // "javascript"
obj.arrow(); //
6. 双等于是懒惰的
在 javascript 中,== 并不总是关心类型。因此,它会尝试为您转换内容。这很好......直到它不是。
1
2
3
console.log(0 == "0"); // true
console.log(0 == []); // true
console.log([] == ""); // true
帮自己一个忙:使用 === 代替。总是。
7. 无限是一个数字
javascript 中最大的数字是多少?无穷大。什么比最小的还小?负无穷大。是的,你可以用它们做数学。
1
2
console.log(Infinity - Infinity); // NaN
console.log(Infinity > 1000000); // true
javascript 只是随意地证明了数学是相对的。

如何在 javascript 中检查对象中是否存在键 |塔贾玛·马克布尔
您是否曾经深入研究 javascript 代码并想知道如何检查密钥是否存在?在这篇博客中,解释了 4 种不同的方法。


javascript 中的时间事件:指南 |塔贾玛·马克布尔
javascript 很神奇,不是吗?它使网站具有互动性和活力。它最酷的功能之一是时间事件。如果这听起来很技术性,请不要担心;我会分解它。


javascript splice - 终极数组方法 |塔贾玛·马克布尔
掌握javascript强大的拼接方法!了解如何轻松添加、删除和替换数组元素。通过这个终极指南简化您的代码。

为什么我们无论如何都喜欢它
尽管 javascript 有其怪异之处,但它......令人惊叹。它可以让您构建整个应用程序、使网站具有交互性,甚至可以控制机器人!这有点疯狂,但这就是它的魅力的一部分。
javascript 教会我们耐心,让我们笑(和哭),并最终完成工作。拥抱怪异。
以上就是JavaScript 中的疯狂事物:爱它还是恨它的详细内容,更多请关注php中文网其它相关文章!