无论你是哪个级别的开发人员,都有机会犯错。这些错误可能从语法到复杂的函数错误不等,最终会在你的应用程序中造成一系列的错误。有一个资深的开发者来查看你的代码并发现错误是一件好事,但是,你最好从自己的错误和失误中学习,并随着时间的推移而改进。
虽然JavaScript是一门容易学习的语言,但是,许多开发人员,不管他们是多么优秀的开发人员,仍然会犯一些常见的错误。这些错误导致你的代码看起来效率低下、杂乱无章且充满了错误。在这篇文章中,我们将介绍在用JavaScript编码时应避免的常见错误,以使你的代码不出错且高效。
你的代码中的常见错误
以下是我们收集的关于各种开发人员在JavaScript中所犯的常见错误的列表。通过这种方式,你可以更好地理解这些概念,并在将来避免这些错误。
放置脚本的方式不正确
开发者最常犯的错误是把他们的脚本错误地放在一个HTML文件中。大多数情况下,脚本是在访问HTML元素。把标签放在HTML文件的头部会导致错误。下面是一个例子。
<!DOCTYPE html>
<html>
<head>
<script>document.getElementById("div").innerHTML ="Hello, Welcome To Our Website"; </script>
</head>
<body>
<div id="div"></div>
</body>
</html>
这不会产生任何输出,而将脚本标签放在你的页面末尾会解决这个问题。但是,如果你想在HTML文件的头部使用一个脚本标签,只需在脚本标签中添加属性 "defer"即可。下面是一个使用defer的例子。
<!DOCTYPE html>
<html>
<head>
<script src = "bundle.js" defer></script>
</head>
<body>
<div id="div"></div>
</body>
</html>
不正确地使用(=)、(==)、(==)运算器
在JavaScript中,另一个常见的错误是不正确地使用"="、"=="和"=="。在JavaScript中,"="操作符是一个赋值操作符,用来给不同的变量赋值。
而"=="和"=="运算符则用于比较。"=="用于两个变量的 "松散"比较,忽略它们的数据类型。而"==="是一个严格的比较运算符,它检查两个变量的数据类型。
下面是一个例子,可以更好地理解每个运算符的区别,并改善你的概念,避免此类错误。
let x = 55;
let y = 55;
let z = "55";
console.log(Boolean(x==y));
console.log(Boolean(x===y));
console.log(Boolean(y==z));
console.log(Boolean(y===z));
在这里,首先我们使用"="赋值运算符给变量分配了一些值。然后我们使用比较运算符来比较它们的值。
输出

在这里,当我们比较字符串和数字时,"=="给了我们真值,因为它没有检查两个变量的数据类型。而"==="则是假的,因为它也严格检查变量的数据类型。
加法与串联
对于数字或字符串的加法,都使用了运算符 "+"。正因为如此,我们得到了不同的输出。例如,如果我们将一个数字与一个数字字符串相加,它将产生与增加两个数字不同的输出。
let x = 5;
let y = "5";
let z = 20;
console.log(x+y);
console.log(x+z);
输出

由于我们在声明变量时不能定义数据的类型,如果这些类型没有得到正确的处理,就会导致一些不可预知的结果,通过上面的例子可以看出。
未定义VS空
这两种情况看起来很相似,但它们是完全不同的。未定义 是指你没有给任何变量赋值。而Null 则是一个可以分配给变量的赋值。即使你通过严格的比较运算符来比较这两者,它也会给出一个假值。下面是一个例子。
let x;
let z = null;
console.log(x);
console.log(z);
console.log(typeof x);
console.log(typeof z);
console.log(Boolean(z===x));
输出

这里,undefined 的类型是未定义的,而null 的类型是一个对象。因此,在比较时,它产生了false作为输出。
分号错位
开发人员最常犯的错误是把分号放在函数的末尾。例如。
let x = 1;
if (x == 19);
{
console.log("Hello");
}
在这里,在第二行末尾放置";"分号将执行给定的代码块,无论条件是什么。
输出

为了避免这种类型的错误,请将你的代码改写为。

这样一来,它就检查了条件,因此没有产生输出。
在JavaScript中断开一个字符串
要从中间断开一个字符串或从下一行开始你的句子,你不能打算这样做。相反,你必须使用反斜杠"\"来达到这个目的。
let x = "Hey \
there";
console.log(x);
输出

结论
在这篇文章中,我们讨论了JavaScript编码过程中的各种常见错误。任何人都可能犯这些错误,所以最好是更深入地了解JavaScript的工作。从这些错误中学习,并在将来避免它们,将帮助你创建一个更有组织和高效的代码。
不完全了解JavaScript的工作原理会导致愚蠢的错误,使你的程序出现错误。下次当你在编码时,请记住以上几点,并创建一个无错误的代码。