Conversion de types JavaScript
Number() se convertit en nombre, String() se convertit en chaîne et Boolean() se convertit en valeur booléenne.
Types de données JavaScript
Il existe 5 types de données différents en JavaScript :
chaîne
numéro
booléen
objet
fonction
3 types d'objets :
Objet
Date
Array
2 types de données qui ne contiennent aucune valeur :
null
non défini
type d'opérateur
Vous pouvez utiliser l'opérateur typeof pour vérifier le type de données d'une variable JavaScript.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> typeof 操作符返回变量、对象、函数、表达式的类型。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof NaN + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34} + "<br>" + typeof new Date() + "<br>" + typeof function () {} + "<br>" + typeof myCar + "<br>" + typeof null; </script> </body> </html>
Exécutez le programme et essayez-le
Veuillez noter :
Le type de données de NaN est un nombre
-
Le type de données du tableau (Array) est un objet
Le type de données de la date (Date) est un objet
Le type de données de null est un objet
Le type de données des variables non définies n'est pas défini
Si l'objet est un tableau JavaScript ou une date JavaScript, nous ne pouvons pas les juger via typeof Type, car ils renvoient tous Object. L'attribut constructeur renvoie le constructeur de toutes les variables JavaScript.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> constructor 属性返回变量或对象的构造函数。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "john".constructor + "<br>" + (3.14).constructor + "<br>" + false.constructor + "<br>" + [1,2,3,4].constructor + "<br>" + {name:'john', age:34}.constructor + "<br>" + new Date().constructor + "<br>" + function () {}.constructor; </script> </body> </html>
Exécutez le programme et essayez-le
Vous pouvez utiliser l'attribut constructeur pour vérifier si l'objet est un tableau (contenant la chaîne "Array") :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>判断是否为数组。</p> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = isArray(fruits); function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; } </script> </body> </html>Exécutez le programme et essayez-le
Vous pouvez utiliser l'attribut constructeur pour voir si l'objet est une date (contenant la chaîne "Date") :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>判断是否为日期。</p> <p id="demo"></p> <script> var myDate = new Date(); document.getElementById("demo").innerHTML = isDate(myDate); function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; } </script> </body> </html>Exécutez le programme pour l'essayer
Conversion de type JavaScript
Les variables JavaScript peuvent être converties en de nouvelles variables ou en d'autres types de données :en utilisant Fonctions JavaScript Conversion automatique via JavaScript lui-même
Convertir les nombres en chaînes
-
La méthode globale String() peut convertir des nombres Convertir en chaîne.
Cette méthode peut être utilisée pour tout type de chiffres, lettres, variables, expressions :
Instances
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> String() 方法可以将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(123) + "<br>" + String(100 + 23); </script> </body> </html>
Exécutez le programme pour essayez-le
La méthode numérique toString() a également le même effet.
Exemple
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>toString() 方法将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.toString() + "<br>" + (123).toString() + "<br>" + (100 + 23).toString(); </script> </body> </html>
Exécutez le programme et essayez
Comment convertir des nombres en chaînes :
方法 描述 toExponential() 把对象的值转换为指数计数法。 toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。 toPrecision() 把数字格式化为指定的长度。 Convertir une valeur booléenne en chaîne
La méthode globale String() peut convertir une valeur booléenne en chaîne.
String(false) // Renvoie "false"
String(true) // Renvoie "true"La méthode booléenne toString() a également la même effet .
false.toString() // Renvoie "false"
true.toString() // Renvoie "true"Convertir la date en chaîne
La méthode globale String() peut convertir la date en chaîne.
String(Date()) // Retour jeu. 17 juillet 2014 15:38:19 GMT+0200 (heure avancée de l'Europe de l'Ouest)
Méthode de date toString( ) a le même effet.
Date().toString() // Retour jeu. 17 juillet 2014 15:38:19 GMT+0200 (heure avancée de l'Europe de l'Ouest)
Date convertie en Fonctions de chaîne :
方法 描述 getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getFullYear() 从 Date 对象以四位数字返回年份。 getHours() 返回 Date 对象的小时 (0 ~ 23)。 getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 getMonth() 从 Date 对象返回月份 (0 ~ 11)。 getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 Convertir une chaîne en nombre
La méthode globale Number() peut convertir une chaîne en nombre.
Les chaînes contenant des nombres (comme "3.14") sont converties en nombres (comme 3.14).
Les chaînes vides sont converties en 0.
Les autres chaînes seront converties en NaN (pas en nombre).
Numéro("3.14") // Renvoie 3.14
Numéro(" ") // Renvoie 0
Numéro("") // Renvoie 0
Numéro("99 88") // Return NaNMéthode pour convertir une chaîne en nombre :
方法 描述 parseFloat() 解析一个字符串,并返回一个浮点数。 parseInt() 解析一个字符串,并返回一个整数。 Opérateur unaire +
L'opérateur + peut être utilisé pour convertir des variables en nombres :
Exemple
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "5"; var x = + y; document.getElementById("demo").innerHTML = typeof y + "<br>" + typeof x; } </script> </body> </html>
Exécutez le programme et essayez-le
Si la variable ne peut pas être convertie, ce sera toujours un nombre, mais la valeur sera NaN (pas un numéro) :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "John"; var x = + y; document.getElementById("demo").innerHTML = typeof x + "<br>" + x; } </script> </body> </html>
Exécutez le programme pour l'essayer
Convertir un booléen en nombre
La méthode globale Number() convertit les valeurs booléennes en nombres.
Nombre (faux) // Renvoie 0
Nombre (vrai) // Renvoie 1Convertir la date en nombre
La méthode globale Number() peut convertir la date en nombre.
d = new Date();
Number(d) // Renvoie 1404568027739La méthode de date getTime() a également le même effet.
d = new Date();
d.getTime() // Retour 1404568027739Conversion de type automatique
Lorsque JavaScript tente d'opérer sur un "mauvais" type de données, il sera automatiquement converti en Type de données « correct ».
Le résultat suivant n'est pas celui que vous attendez :
5 + null // Renvoie 5 null Convertit en 0
"5" + null // Renvoie "5null" null Convertir en "null"
"5" + 1 // Retourner "51" 1 Convertir en "1"
"5" - 1 // Retourner 4 "5" Convertir en 5automatiquement converti en chaîne
Lorsque vous essayez de générer un objet ou une variable, JavaScript sera automatiquement appelez la méthode toString() de la variable :
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString est converti en "[object Object]"
// si myVar = [1,2,3,4] // toString est converti en "1,2,3,4"
// si myVar = new Date() // toString est converti en "Fri Jul 18 2014 09:08:55 GMT+0200"Les nombres et les valeurs booléennes sont également souvent convertis en chacun autre :
// si maVar = 123 // toString est converti en "123"