English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JavaScript ist eines der beliebtesten Programmiersprachen in der Branche heute. Wenn Sie dieses Sprach lernen möchten, vermeiden Sie die folgenden Fehler.
Wenn wir versehentlich im if-Ausdruck den Zuweisungsoperator (=) anstatt des Vergleichsoperators (==) verwenden, kann das JavaScript-Programm unerwartete Ergebnisse erzeugen.
Wenn num nicht gleich20, dann gibt diese if-Anweisung false zurück:
var num = 0; if (num == 20)Testen sehen‹/›
Diese if-Anweisung gibt true zurück, weil20 ist true:
var num = 0; if (num = 20)Testen sehen‹/›
Die Zuweisung gibt immer den zugewiesenen Wert zurück.
Wenn Menschen beginnen, JavaScript zu verwenden, ist dies möglicherweise der häufigste Fehler.
In der konventionellen Vergleich ist der Datentyp irrelevant. Wenn die if-Anweisung true gibt:
var a = 20; var b = "20"; if (a == b)Testen sehen‹/›
In strenger Vergleich, ist der Datentyp tatsächlich wichtig. Diese if-Anweisung gibt false zurück:
var a = 20; var b = "20"; if (a === b)Testen sehen‹/›
Der Unterschied zwischen (a == b) und (a === b) ist:
== Wenn a gleich b ist, wird true zurückgegeben
=== Wenn a gleich b ist und sie zudesselben Typs,dann wird true zurückgegeben
Generally, you should always use ===, also known as the strict equality operator or identity operator.
From the previous chapters, we can know that+operators are used for addition and concatenation.
Additionallyis about addingnumbers.
concatenationis about addingThe string's.
Therefore, adding numbers as numbers and adding numbers as strings will produce different results:
var a = 10; var b = 5; var c = a + b; // c = 15 var a = 10; var b = "5"; var c = a + b; // c = "105"Testen sehen‹/›
All numbers in JavaScript are stored as64Bitwise floating-point numbers (Floats).
All programming languages (including JavaScript) have difficulties with precise floating-point values:
var a = 0.1; var b = 0.2; var c = a + b; // The result of c will not be 0.3Testen sehen‹/›
To solve the above problem, it helps to multiply and divide:
var c = (a * 10 + b * 10) / 10; // c = 0.3Testen sehen‹/›
JavaScript will allow you to split a statement into two lines:
var str = "w3codebox Tutorial";Testen sehen‹/›
However, breaking a statement in the middle of a string will not work:
var str = "w3codebox Tutorial";Testen sehen‹/›
If you must break a statement in the middle of a string, you must use the "backslash" (escape character):
var str = "w3codebox \ Tutorial";Testen sehen‹/›
Another solution is to useTemplate literals(backticks ``)string. These eliminate the need for escaping long strings:
var str = `Air Pollution is introduction of chemicals to the atmosphere. It damages environmental balance and causes several diseases.`;Testen sehen‹/›
Due to the incorrect placement of the semicolon, the following code will always be executed regardless of the value of num:
if (num === 45); { // code block }Testen sehen‹/›
The trailing comma in object and array definitions in ECMAScript 5is legal in the middle.
let fruits = ["Apple", "Mango", "Banana", "Orange",];//array let user = {firstName:"Vishal", lastName:"Choudhary", age:22,};//object
However, adding a comma at the end of an array, Internet Explorer 8wird kollabieren.
JSON erlaubt keine followenden Kommas.
JavaScript erstellt nicht für jeden Codeblock eine neue Reichweite.
gilt in vielen Programmiersprachen, aber nicht in JavaScript.
for (var i = 0; i < 10; i++) { // some code } document.write(i); // Was wird dieser Ausgang sein?Testen sehen‹/›
VerwendungletSchlüsselwörter erstellen für jeden Codeblock eine neue Reichweite:
for (let i = 0; i < 10; i++) { // some code } document.write(i); // Was wird dieser Ausgang sein?Testen sehen‹/›
undefinedWert weist darauf hin, dass noch kein Wert für die Variable zugewiesen wurde oder die Variable nicht deklariert wurde.
nullWert zeigt an, dass absichtlich kein Objektwert existiert.
das macht es etwas schwierig, zu testen, ob ein Objekt leer ist.
es kann durch das Testen des Typs geprüft werdenundefinedum zu testen, ob das Objekt existiert:
if (typeof myObj === "undefined")Testen sehen‹/›
aber Sie können nicht testen, ob das Objektnullweil wenn das Objektundefinedwas einen Fehler auslösen wird:
if (myObj === null)Testen sehen‹/›
Um dieses Problem zu lösen, muss getestet werden, ob ein Objekt nichtundefinedund nichtnull:
if (typeof myObj !== "undefined" && myObj !== null)Testen sehen‹/›