Heim > Artikel > Web-Frontend > Detaillierte Einführung in JavaScript-Standardobjekte
In diesem Artikel werden hauptsächlich die relevanten Informationen zu JavaScript-Standardobjekten im Detail vorgestellt, die einen gewissen Referenzwert haben
in der Welt von JavaScript Hier ist alles ein Objekt.
Aber einige Objekte unterscheiden sich dennoch von anderen. Um den Objekttyp zu unterscheiden, verwenden wir typeofOperator, um den Objekttyp abzurufen, der immer einenString zurückgibt:
typeof 123; // 'number' typeof NaN; // 'number' typeof 'str'; // 'string' typeof true; // 'boolean' typeof undefined; // 'undefined' typeof Math.abs; // 'function' typeof null; // 'object' typeof []; // 'object' typeof {}; // 'object'
Es ist ersichtlich, dass Zahl, Zeichenfolge, Boolescher Wert, Funktion und undefiniert unterschiedlich sind andere Typen. Achten Sie besonders darauf, dass der Typ von Null ein Objekt ist und der Typ von Array auch ein Objekt ist. Wenn wir typeof verwenden, können wir nicht zwischen Null, Array und Objekt im üblichen Sinne unterscheiden – {}.
Verpackungsobjekte
Zusätzlich zu diesen Typen bietet JavaScript auch Verpackungsobjekte, die sich mit Java auskennen und int und IntegerDiese mehrdeutige Beziehung. Number, Boolean und String haben alle Verpackungsobjekte. Ja, in JavaScript wird bei Strings auch zwischen dem String-Typ und seinem Wrapping-Typ unterschieden. Verpackungsobjekte werden mit neu erstellt:
var n = new Number(123); // 123,生成了新的包装类型 var b = new Boolean(true); // true,生成了新的包装类型 var s = new String('str'); // 'str',生成了新的包装类型Obwohl die Verpackungsobjekte genauso aussehen wie die ursprünglichen Werte und genau gleich angezeigt werden, sind ihre Typen haben Objekt geändert! Daher wird beim Vergleichen des umschlossenen Objekts mit dem Originalwert mit === false zurückgegeben:
typeof new Number(123); // 'object' new Number(123) === 123; // false typeof new Boolean(true); // 'object' new Boolean(true) === true; // false typeof new String('str'); // 'object' new String('str') === 'str'; // falseVerwenden Sie also keine umschlossenen Objekte, wenn Sie frei sind ! Speziell für den Typ
String! ! ! Wenn wir
Number, Boolean und String verwenden, ohne new zu schreiben Was geschieht? Zu diesem Zeitpunkt werden
Number(), Boolean und String() als gewöhnliche Funktionen zum Konvertieren jeglicher Art behandelt Daten Für die Typen Zahl, Boolescher Wert und Zeichenfolge (beachten Sie nicht den Verpackungstyp):
var n = Number('123'); // 123,相当于parseInt()或parseFloat() typeof n; // 'number' var b = Boolean('true'); // true typeof b; // 'boolean' var b2 = Boolean('false'); // true! 'false'字符串转换结果为true!因为它是非空字符串! var b3 = Boolean(''); // false var s = String(123.45); // '123.45' typeof s; // 'string'Fühlt sich Ihr Kopf groß an? Das ist der einzigartige hypnotische Charme von JavaScript!
neue Nummer( ), new Boolean(), new String()Erstellen Sie ein Wrapper-Objekt; >parseFloat()
Zahl umzuwandeln ; Verwenden Sie String(), um einen beliebigen Typ in String
, oder rufen Sie direktMethode; Normalerweise ist es nicht erforderlich, einen -Typ zu konvertieren zu boolean, bevor Sie urteilen, da Sie direkt Write if (myVar) {...}; schreiben können
typeof Operator Sie können Zahl, Boolescher Wert, Zeichenfolge, Funktion und Undefiniert beurteilen; 🎜>Judge
ArrayArray.isArray(arr); zu verwenden, verwenden Sie bitte myVar === null;
Um festzustellen, ob eine globale Variable vorhanden ist, verwenden SieIntern ermittelt die Funktion mithilfe von typeof myVar === 'undefiniert', ob eine Variable vorhanden ist.
Schließlich wies ein aufmerksamer Student darauf hin, dass jedes Objekt eine toString()-Methode hat? null
undefiniert sind nicht verfügbar! Tatsächlich müssen diese beiden Sonderwerte ausgeschlossen werden, obwohl null auch als Typ Objektklasse getarnt ist.
更细心的同学指出,number对象调用toString()报SyntaxError:
123.toString(); // SyntaxError
遇到这种情况,要特殊处理一下:
123..toString(); // '123', 注意是两个点! (123).toString(); // '123'
不要问为什么,这就是JavaScript代码的乐趣!
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in JavaScript-Standardobjekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!