Conversion de types JavaScript
Les variables Javascript sont typées de manière lache, 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中文網(wǎng)(php.cn)</title> <script type="text/javascript"> var i="123abc"; i=parseInt(i);//字符串轉(zhuǎn)整形 alert(i+","+typeof(i));//輸出:123,number i="12.3abc"; i=parseFloat(i);//字符串轉(zhuǎn)浮點(diǎn)型 alert(i+","+typeof(i));//輸出:12.3,number(可見(jiàn)不管是int還是float都是number類(lèi)型) i="a123abc"; i=parseInt(i);//字符串轉(zhuǎn)整形 alert(i+","+typeof(i));//輸出:NaN,number (由于轉(zhuǎn)換失敗,所以提示“不是一個(gè)數(shù)字,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()">點(diǎn)擊</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>