JavaScript 最奇怪的五种行为
在这篇文章中,我们将谈论 JavaScript 的奇怪之处。JavaScript 因其广泛的接受度而闻名,也因其怪异而闻名。下面给出的示例可能会让来自 C++、Java、C# 和其他语言的开发人员大吃一惊。JavaScript 是一种面向对象的编程语言,但类概念是在 ES6 中引入的。在 JavaScript 中,你可以编写 HTML 注释,最小值大于最大值,还有许多 JavaScript 的怪异之处都会在这里介绍。
1. 在 JavaScript 中使用 HTML 注释: 你可以在 JavaScript 中编写 HTML 注释,而不会出现错误。你可以在 JavaScript 代码中使用 HTML 标签<!– –>
,这些注释会被视为 JavaScript 注释的 //
。这些注释可用于<script>
标签中,用于那些不理解 JavaScript 的旧浏览器。
示例:
Javascript
<script>
console.log("Hello world");
<!-- console.log('Hello World') -->
</script>
输出:
Hello world
2. 最小值大于最大值: Math.min() 大于 Math.max()
示例 1:
Javascript
<script>
var a = Math.max() < Math.min();
var b = Math.max() > Math.min();
console.log(a);
console.log(b);
</script>
输出:
true
false
示例 2: 还有一件事,Math.max() 返回 -Infinity,Math.min() 返回 Infinity
Javascript
<script>
var a = Math.max();
var b = Math.min();
console.log(a);
console.log(b);
</script>
输出:
-Infinity
Infinity
3. 在 JavaScript 中,true + true + true 等于 3 你可以看到 true + true + true
等于 3。
示例 1: 这个示例返回3,因为当我们把两个布尔值(true或false)相加时,它们会自动转换为数字。在这个示例中,true被转换为数字1,而false被转换为数字0。
Javascript
<script>
var a = true + true + true;
console.log(a);
</script>
输出: 所以 true + true + true
就变成了1 + 1 + 1,因此我们得到了结果3。
示例 2:
Javascript
<script>
let a = Number(true);
let b = Number(false);
console.log(a);
console.log(b);
</script>
输出:
“`javascript 1
0
<pre><code class="line-numbers">**示例 3:** 这里有一些与此示例相关的有趣结果。
## Javascript
“`javascript
<script>
var a = true + true;
var b = true + false;
var c = false + false;
var d = 2 * true;
var e = 2 * false;
var f = (true + true) * (true + true) – true;
console.log(a, b, c, d, e, f);
</script>
输出:
2
1
0
2
0
3
4. NaN 不等于NaN: 使用严格等式运算符(=)时,NaN不等于NaN。
示例:
Javascript
<script>
var a = NaN;
var b = NaN;
console.log(a == b);
console.log(a === b);
</script>
输出:
false
false
5. true 是 false: 在应用两个!运算符后,当我们比较字符串true和字符串false时,返回true。
示例1: 当我们应用两个逻辑非运算符时,我们得到true。
Javascript
<script>
console.log(!!"true" == !! "false");
console.log(!!"true" === !! "false");
console.log(!!"Hello" == !! "world");
</script>
输出:
true
true
true
示例2: 当我们比较true和true时,我们得到true。
Javascript
<script>
console.log(!!"Geeksforgeeks");
console.log(!!"true");
</script>
输出:
true