Methoden zum Konvertieren von Datentypen in JavaScript: 1. Konvertieren Sie den Datentyp des Werts automatisch entsprechend der Computerumgebung, um die Computeranforderungen zu erfüllen. 2. Verwenden Sie integrierte JavaScript-Funktionen wie toString(), String(), parseInt () usw., um die Datentypkonvertierung zu erzwingen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
JavaScript ist eine dynamische Sprache. Die sogenannte dynamische Sprache kann vorübergehend so verstanden werden, dass alles in der Sprache unsicher ist. Wenn beispielsweise eine Variable in diesem Moment eine Ganzzahl ist, kann sie im nächsten Moment zu einer Zeichenfolge werden. Obwohl der Datentyp von Variablen nicht definiert ist, stellen verschiedene Operatoren Anforderungen an Datentypen. Wenn der Operator feststellt, dass der Typ des Operators nicht mit dem erwarteten Typ übereinstimmt, wird er „den Typ automatisch konvertieren“. Einfach ausgedrückt kann JavaScript die Art der Werte entsprechend der Computerumgebung automatisch konvertieren, um den Computeranforderungen gerecht zu werden.
Beispiel:
Verwenden Sie den Plus-Operator, um einen Wert in einen String umzuwandeln//把数字转换为字符串
var n = 123;
n = n + "";
console.log(typeof n); //返回类型为 string
Beispiel: Verwenden Sie den Multiplikationsoperator, um einen String in einen numerischen Wert umzuwandelnvar n = "123";
n = n * 1;
console.log(typeof n); //返回类型为 number
) zur Steuerung des Operationsprozesses.
Methode 1: toString()-Methode
Rufen Sie die toString()-Methode des konvertierten Datentyps auf Das Konvertierungsergebnis wird zurückgegeben, aber beachten Sie: Die beiden Werte null und undefiniert müssen toString sein. Wenn ihre Methoden aufgerufen werden, wird ein Fehler gemeldet.
var a = 123 a.toString()//"123" var b = null; b.toString()//"报错" var c = undefined c.toString()//"报错"
Mit dem Basismodus der toString()-Methode des Zahlentyps können Zahlen in verschiedenen Basen ausgegeben werden. Beispielsweise ist die Basis von Binärzahlen 2, die Basis von Oktalzahlen ist 8 und die Basis von Hexadezimalzahlen ist 16
var iNum = 10; alert(iNum.toString(2)); //输出 "1010" alert(iNum.toString(8)); //输出 "12" alert(iNum.toString(16)); //输出 "A"
Methode 2: String()-Funktion
Bei Verwendung der String()-Funktion zur erzwungenen Typkonvertierung wird für Number und Boolean tatsächlich die toString()-Methode aufgerufen,
aber für null und undefiniert die toString()-Methode Wird nicht aufgerufen, wird null direkt in „null“ und undefiniert direkt in „undefiniert“ konvertiert. Wenn der Parameter der String-Methode ein Objekt ist, gibt sie einen Typ-String zurück, wenn es sich um ein Array handelt, gibt sie die String-Form von zurück das Array.
var a = null String(a)//"null" var b = undefined String(b)//"undefined"
Methode 1: Verwenden Sie die Funktion Number()Das Folgende ist in zwei Fälle unterteilt: Der eine ist, dass der Parameter ein primitiver Typwert ist, und der andere ist dieser Der Parameter ist ein Objekt
(1) Primitiver Typwert
① Zeichenfolge in Zahl
Wenn es sich um eine rein numerische Zeichenfolge handelt, konvertieren Sie sie direkt in eine Zahl
Wenn nicht numerischer Inhalt in der ist Zeichenfolge, konvertieren Sie sie. Ist NaN
Wenn die Zeichenfolge eine leere Zeichenfolge oder eine Zeichenfolge voller Leerzeichen ist, wird sie in 0 konvertiert
String({a: 1}) // "[object Object]" String([1, 2, 3]) // "1,2,3"
Number('324') // 324 Number('324abc') // NaN Number('') // 0
④Null in Zahl: In 0 konvertieren
Number(true) // 1 Number(false) // 0
Number(undefined) // NaN
(2) Objekt
Die einfache Regel lautet: Wenn der Parameter der Number-Methode ein Objekt ist, wird NaN zurückgegeben, es sei denn, es handelt sich um ein Array, das einen einzelnen Wert enthält.
Number(null) // 0
Methode 2: parseInt() & parseFloat()
Diese Methode wird speziell für die Verarbeitung von Zeichenfolgen verwendet. ParseInt() wandelt eine Zeichenfolge in eine Ganzzahl um und kann dann den gültigen Ganzzahlinhalt in eine Zeichenfolge umwandeln Nummer. parseFloat() wandelt einen String in eine Gleitkommazahl um. parseFloat() ähnelt parseInt(), außer dass es gültige Dezimalzahlen erhalten kann.
Number(3.15); //3.15 Number(023); //19 Number(0x12); //18 Number(-0x12); //-18
parseInt() verwendet standardmäßig die Dezimalkonvertierung, wenn kein zweiter Parameter vorhanden ist. Wenn die Basis falsch ist, wird NaN
Number({a: 1}) // NaN Number([1, 2, 3]) // NaN Number([5]) // 5
Die Differenz zurückgegeben zwischen den beiden: Die Number-Funktion wandelt einen String in einen numerischen Wert um und ist viel strenger als die parseInt-Funktion. Grundsätzlich gilt: Solange ein Zeichen nicht in einen numerischen Wert umgewandelt werden kann, wird die gesamte Zeichenfolge in NaN umgewandelt.
console.log(parseInt('.21')); //NaN console.log(parseInt("10.3")); //10 console.log(parseFloat('.21')); //0.21 console.log(parseFloat('.d1')); //NaN console.log(parseFloat("10.11.33")); //10.11 console.log(parseFloat("4.3years")); //4.3 console.log(parseFloat("He40.3")); //NaN
Im obigen Code analysiert parseInt die Zeichen einzeln, während die Number-Funktion den Typ der Zeichenfolge als Ganzes konvertiert.
Darüber hinaus ist auch die Verarbeitung leerer Zeichenfolgen unterschiedlichconsole.log(parseInt("13")); //13 console.log(parseInt("11",2)); //3 console.log(parseInt("17",8)); //15 console.log(parseInt("1f",16)); //31
3 Konvertieren Sie andere Datentypen in Boolean
它的转换规则相对简单:只有空字符串("")、null、undefined、+0、-0 和 NaN 转为布尔型是 false,其他的都是 true,空数组、空对象转换为布尔类型也是 true,甚至连false对应的布尔对象new Boolean(false)也是true
Boolean(undefined) // false Boolean(null) // false Boolean(0) // false Boolean(NaN) // false Boolean('') // false
Boolean({}) // true Boolean([]) // true Boolean(new Boolean(false)) // true
【推荐学习:javascript高级教程】
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Datentypen in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!