Heim  >  Artikel  >  Web-Frontend  >  Was beinhaltet die Konvertierung von Javascript-Datentypen?

Was beinhaltet die Konvertierung von Javascript-Datentypen?

青灯夜游
青灯夜游Original
2021-09-09 15:30:443362Durchsuche

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.

Was beinhaltet die Konvertierung von Javascript-Datentypen?

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

Beachten Sie, dass NaN der einzige Wert in JavaScript ist, der nicht sich selbst entspricht. (NaN == NaN) === falsch! Wenn ein unzulässiges Zeichen gefunden wird, ignorieren parseInt und parseFloat alles, was darauf folgt.

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 Dekrementierungsoperatoren

Die 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

3. Logischer NOT-Operator und Vergleichsoperator wandeln jeden Wert in einen booleschen Wert um

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:

alert({a: 1});    // => [object Object]

【推荐学习: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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn