如何用JavaScript编码时应避免的常见错误

113 阅读4分钟

无论你是哪个级别的开发人员,都有机会犯错。这些错误可能从语法到复杂的函数错误不等,最终会在你的应用程序中造成一系列的错误。有一个资深的开发者来查看你的代码并发现错误是一件好事,但是,你最好从自己的错误和失误中学习,并随着时间的推移而改进。

虽然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的工作原理会导致愚蠢的错误,使你的程序出现错误。下次当你在编码时,请记住以上几点,并创建一个无错误的代码。