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>


Formation continue
||
<!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>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel