Heim > Web-Frontend > Front-End-Fragen und Antworten > So konvertieren Sie Datentypen in Javascript

So konvertieren Sie Datentypen in Javascript

青灯夜游
Freigeben: 2023-01-11 09:20:42
Original
5192 Leute haben es durchsucht

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.

So konvertieren Sie Datentypen in Javascript

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
Nach dem Login kopieren

Beispiel: Verwenden Sie den Multiplikationsoperator, um einen String in einen numerischen Wert umzuwandeln

var n = "123";
n = n * 1;
console.log(typeof n); //返回类型为 number
Nach dem Login kopieren
Aber in vielen Fällen müssen Entwickler den manuell konvertieren Datentyp (

Erzwungene Typkonvertierung

) zur Steuerung des Operationsprozesses.

1. Konvertieren Sie andere Datentypen in String

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()//"报错"
Nach dem Login kopieren

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"
Nach dem Login kopieren

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"
Nach dem Login kopieren

2. Konvertieren Sie andere Datentypen in Number

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"
    Nach dem Login kopieren
  • ③undefiniert in Zahl: In NaN konvertieren
  • Number('324') // 324
    Number('324abc') // NaN
    Number('') // 0
    Nach dem Login kopieren

    ④Null in Zahl: In 0 konvertieren

    Number(true) // 1
    Number(false) // 0
    Nach dem Login kopieren
  • ⑤Number() akzeptiert einen numerischen Wert als Parameter. Zu diesem Zeitpunkt kann es sowohl negative Hexadezimal- als auch Oktalzahlen erkennen, die mit 0 beginnen , und gibt zurück: Der Wert ist immer ein Dezimalwert
Number(undefined) // NaN
Nach dem Login kopieren

(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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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 unterschiedlich

console.log(parseInt("13"));          //13
console.log(parseInt("11",2));        //3
console.log(parseInt("17",8));        //15
console.log(parseInt("1f",16));       //31
Nach dem Login kopieren

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
Nach dem Login kopieren
Boolean({}) // true
Boolean([]) // true
Boolean(new Boolean(false)) // true
Nach dem Login kopieren

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage