Conversion de types JavaScript
Les variables Javascript sont typées de manière lâche, ce qui peut stocker n'importe quel type de données pris en charge par Javascript, et le type de ses variables peut être modifié dynamiquement au moment de l'exécution. Veuillez consulter l'exemple :
var n = 10;
n = "bonjour CSSer !";
n = {};
Dans l'exemple ci-dessus, déclarez d'abord la variable n et initialisez sa valeur à 10 (type entier) , puis attribuez la chaîne "hello CSSer!" à n, puis attribuez-lui un objet, et enfin le type de n est le type d'objet. On peut voir que le type de variable n est dynamique. Dans la programmation réelle, nous recommandons de ne pas changer fréquemment le type de variable, car cela n'est pas bon pour le débogage.
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
typeof Operator
Vous pouvez utiliser typeof Operator pour vérifier le type de données des variables JavaScript.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "tom" + "<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>
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) Le type de données de l'objet
null est objet
Le type de données des variables non définies est indéfini
attribut constructeur
l'attribut constructeur renvoie le constructeur de toutes les fonctions de variables JavaScript.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <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>
Conversion explicite
En effectuant manuellement la conversion de type, Javascript fournit la transformation suivante function :
Convertir en type numérique : Number(mix), parseInt(string,radix), parseFloat(string)
Convertir en type de chaîne : toString(radix), String(mix)
Convertir au type booléen : Boolean(mix)
1. La fonction Number(mix) peut convertir tout type de mélange de paramètres en un type numérique
Les règles sont :
Si une valeur booléenne, true et false sont convertis respectivement en 1 et 0
S'il s'agit d'une valeur numérique, se renvoie elle-même.
S'il est nul, renvoyez 0.
S'il n'est pas défini, renvoyez NaN.
S'il s'agit d'une chaîne, suivez les règles suivantes :
1) Si la chaîne ne contient que des nombres, convertissez-la en décimal (en ignorant les 0 non significatifs)
2) Si la chaîne contient un format de virgule flottante valide, convertissez-la en valeur à virgule flottante (en ignorant le 0 initial)
3) S'il s'agit d'une chaîne vide, convertissez-la en 0
4) Si le La chaîne contient un format autre que celui ci-dessus, convertissez-la en NaN
S'il s'agit d'un objet, appelez la méthode valueOf() de l'objet, puis convertissez la valeur renvoyée selon les règles précédentes. Si le résultat de la conversion est NaN, appelez la méthode toString() de l'objet et convertissez à nouveau la valeur de chaîne renvoyée selon les règles précédentes.
Numéro("3.14") // Renvoie 3.14
Numéro(" ") // Renvoie 0
Numéro("") // Renvoie 0
Numéro("99 88") // Retourne NaN
2. fonction parseInt(string, radix), convertir la chaîne Convertir en une valeur numérique de type entier. Il a également certaines règles :
Ignorer les espaces devant la chaîne jusqu'à ce que le premier caractère non vide soit trouvé
Si le premier Si un caractère n'est pas un symbole numérique ou un signe négatif, NaN est renvoyé
Si le premier caractère est un nombre, l'analyse continue jusqu'à ce que la chaîne soit analysée ou qu'un symbole non numérique soit rencontré
Si ce qui précède Si le résultat de l'analyse par étapes commence par 0, il sera analysé comme octal ; s'il commence par 0x, il sera analysé comme hexadécimal
Si le paramètre radix est spécifié, radix sera être utilisé comme base. Parse
3. La fonction parseFloat(string) convertit la chaîne en une valeur de type virgule flottante
Ses règles. sont fondamentalement identiques à parseInt , mais il existe quelques différences : le premier symbole de point décimal dans la chaîne est valide et parseFloat ignore tous les 0 de début. Si la chaîne contient un nombre qui peut être analysé comme un entier, une valeur entière est renvoyée. au lieu d'une valeur à virgule flottante.
4. Méthode toString(radix). Tous les types de valeurs, sauf undefined et null, ont une méthode toString(), qui renvoie la représentation sous forme de chaîne de l'objet
Object Opérations
Array Convertit les éléments de Array en chaînes. Les chaînes résultantes sont séparées par des virgules et concaténées.
Booléen Si la valeur booléenne est vraie, renvoie "vrai". Sinon, renvoyez "false".
Date Renvoie la représentation textuelle de la date.
Erreur Renvoie une chaîne contenant des informations d'erreur pertinentes.
Function renvoie une chaîne au format suivant, où functionname est le nom de la fonction de la méthode toString appelée :
function functionname( ) { [code natif] }
Nombre Renvoie la représentation textuelle d'un nombre.
String Renvoie la valeur de l'objet String.
La valeur par défaut renvoie "[object objectname]", où objectname est le nom du type d'objet.
5. Fonction String(mix), convertit tout type de valeur en chaîne, ses règles sont :
S'il existe une méthode toString(), appelez la méthode (sans passer le paramètre radix) et renvoyez le résultat
S'il est nul, renvoyez "null"
S'il n'est pas défini, renvoie "undéfini"
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p id="demo"></p> <script> var x = 55; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(13.3) + "<br>" + String(100.99 + 23); </script> </body> </html>
6. Fonction booléenne (mix), convertit tout type de valeur en un Valeur booléenne.
Les valeurs suivantes seront converties en false : false, "", 0, NaN, null, undefined et toute autre valeur sera convertie en true.
Exemple :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> var i="123abc"; i=parseInt(i);//字符串转整形 alert(i+","+typeof(i));//输出:123,number i="12.3abc"; i=parseFloat(i);//字符串转浮点型 alert(i+","+typeof(i));//输出:12.3,number(可见不管是int还是float都是number类型) i="a123abc"; i=parseInt(i);//字符串转整形 alert(i+","+typeof(i));//输出:NaN,number (由于转换失败,所以提示“不是一个数字,Not a Number”) var num=document.getElementById("num").value; function showMsg(num) { for(var i=0;i<num;i++) { document.write("你好,JavaScript!<br/>"); } } </script> </head> <body> </body> </html>
Opérateur unaire +
L'opérateur + peut être utilisé pour convertir des variables en nombres :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <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>