Die Konvertierung von Javascript-Datentypen umfasst: explizite Typkonvertierung und implizite Typkonvertierung. Die explizite Typkonvertierung wird hauptsächlich mithilfe der integrierten Funktionen von JavaScript durchgeführt, während die implizite Typkonvertierung bedeutet, dass JavaScript den Typ des Werts automatisch entsprechend der Computerumgebung konvertiert.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Die Konvertierung von Javascript-Datentypen umfasst: explizite Typkonvertierung und implizite Typkonvertierung.
Explizite Konvertierung von Datentypen
Der angezeigte Konvertierungsdatentyp erfolgt hauptsächlich durch die von JS definierte Datenkonvertierungsmethode.
1. In String konvertieren
Die meisten JavaScript-Hostumgebungen (wie Node.js und Chrome) stellen die globale Funktion toString bereit. Gleichzeitig definiert Object.prototype auch die toString-Methode, sodass alle Objekte konvertiert werden für String-Fähigkeiten.
Konvertieren Sie beispielsweise eine Zahl in einen String:
var n = 1; n.toString(); // '1'
toString akzeptiert einen Parameter zur Angabe der Basis, der Standardwert ist 10. Sie können diesen Parameter verwenden, um eine zufällige Zeichenfolge mit Buchstaben und Zahlen zu generieren:
Math.random().toString(36).substr(2);
random generiert einen Zufall Zahl von 0 bis 1, der hexadezimale Zeichensatz ist [0-9a-z] (36), substr wird verwendet, um die beginnende „0“ abzuschneiden. Darüber hinaus kann Object.prototype.toString verwendet werden, um den Typ von JavaScript-Objekten zu erkennen:
var toString = Object.prototype.toString; toString.call(new Date); // [object Date] toString.call(new String); // [object String] toString.call(Math); // [object Math] // Since JavaScript 1.8.5 toString.call(undefined); // [object Undefined] toString.call(null); // [object Null] // 自定义类型 toString.call(new MyClass); // [object Object]
2. Die Konvertierung von Zeichenfolgen in Zahlen ist ebenfalls eine häufige Anforderung, um eine Zahl zu erhalten aus Benutzereingaben oder Dateien Sie können parseInt und parseFloat direkt in JavaScript verwenden. Zum Beispiel:
var iNum1 = parseInt("12345red"); //返回 12345 var iNum1 = parseInt("0xA"); //返回 10 var iNum1 = parseInt("56.9"); //返回 56 var iNum1 = parseInt("red"); //返回 NaN var fNum4 = parseFloat("11.22.33"); //返回 11.22
parseFloat akzeptiert nur Zeichenfolgen mit Dezimalzahlen, und parseInt bietet außerdem einen zweiten Parameter (optional), um die Basis anzugeben, in der die Zeichenfolge die Zahl darstellt:
var iNum1 = parseInt("10", 2); //返回 2 var iNum2 = parseInt("10", 8); //返回 8 var iNum3 = parseInt("10", 10); //返回 10
3 Erzwungene Typkonvertierung
Boolean(0) // => false - 零 Boolean(new object()) // => true - 对象 Number(undefined) // => NaN Number(null) // => 0 String(null) // => "null"
Implizite Datenkonvertierung
wird automatisch von JavaScript selbst konvertiert. JavaScript kann Werttypen entsprechend der Computerumgebung automatisch konvertieren, um den Computeranforderungen gerecht zu werden.
1. Inkrementierungs- und DekrementierungsoperatorenDie Inkrementierungs- und Dekrementierungsoperatoren sind direkt von C entlehnt und haben jeweils zwei Versionen: Präfix und Postfix (a++,a--,++a,-- a). Wie der Name schon sagt, sollten Präfixtypen vor den zu bearbeitenden Variablen platziert werden, während Postfixtypen nach den zu bearbeitenden Variablen platziert werden sollten.
Diese 4 Operatoren sind auf jeden Wert anwendbar, das heißt, sie sind nicht nur auf Ganzzahlen anwendbar, können auch für Zeichenfolgen, boolesche Werte, Gleitkommawerte und Objekte verwendet werden, diesmal begleitet von impliziten Datentypen Konvertierung .
2. Vier arithmetische Operationen von einem Yuan
Der Additionsoperator + ist ein binärer Operator, solange einer davon vom Typ String ist, ist der Wert des Ausdrucks ein String . Bei den anderen vier arithmetischen Operationen ist nur eine davon vom Typ Zahl und der Wert des Ausdrucks ist eine Zahl.
NaN wird normalerweise für unzulässige Zeichen zurückgegeben:
'1' * 'a' // => NaN,这是因为parseInt(a)值为NaN,1 * NaN 还是 NaN
Der logische NOT-Operator wandelt seinen Operanden zunächst in einen booleschen Wert um und negiert ihn dann. Kapitel 4, Beziehungsvergleichsoperationen
5, Beurteilungsaussage
Die Beurteilungsbedingung in der Beurteilungsaussage erfordert den Typ BOOLEAN, sodass der bedingte Ausdruck in ihn umgewandelt wird. Die Konvertierungsregeln sind dieselben wie beim Booleschen Konstruktor. Zum Beispiel:
var obj = {}; if(obj){ while(obj); }
6, Native-Code-Aufruf
Die JavaScript-Hostumgebung stellt eine große Anzahl von Objekten bereit, von denen viele häufig über JavaScript implementiert werden. Parameter, die von JavaScript an diese Funktionen übergeben werden, werden ebenfalls implizit konvertiert. Beispielsweise akzeptiert die von BOM bereitgestellte Alarmmethode Parameter vom Typ String: 【推荐学习:javascript高级教程】 Das obige ist der detaillierte Inhalt vonWas beinhaltet die Konvertierung von Javascript-Datentypen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!alert({a: 1}); // => [object Object]