Maison > Article > interface Web > Comment convertir le type de données en javascript
Méthodes de conversion des types de données en JavaScript : 1. Convertissez automatiquement le type de données de la valeur en fonction de l'environnement informatique pour répondre aux besoins informatiques ; 2. Utilisez les fonctions intégrées de JavaScript telles que toString(), String(), parseInt ; (), etc. pour forcer la conversion du type de données.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
JavaScript est un langage dynamique. Le langage dit dynamique peut être temporairement compris comme signifiant que tout dans le langage est incertain. Par exemple, si une variable est un entier à ce moment, elle peut devenir une chaîne au moment suivant. Bien que le type de données de la variable ne soit pas défini, divers opérateurs ont des exigences concernant le type de données. Si l'opérateur constate que le type de l'opérateur ne correspond pas au type attendu, il convertira automatiquement le type.
En termes simples, JavaScript peut convertir automatiquement le type de valeurs en fonction de l'environnement informatique pour répondre aux besoins informatiques.
Exemple : Utilisez l'opérateur plus pour convertir une valeur en chaîne
//把数字转换为字符串 var n = 123; n = n + ""; console.log(typeof n); //返回类型为 string
Exemple : Utilisez l'opérateur de multiplication pour convertir une chaîne en valeur numérique
var n = "123"; n = n * 1; console.log(typeof n); //返回类型为 number
Mais dans de nombreux cas, les développeurs doivent convertir manuellement le type de données ( Conversion de type forcée) pour contrôler le processus de fonctionnement.
1. Convertir d'autres types de données en String
Méthode 1 : méthode toString()
Appelez la méthode toString() du type de données converti. Cette méthode n'affectera pas la variable d'origine, elle le fera. Le résultat de la conversion est renvoyé, mais attention : les deux valeurs null et undefined n'ont pas besoin de toString, et si leurs méthodes sont appelées, une erreur sera signalée.
var a = 123 a.toString()//"123" var b = null; b.toString()//"报错" var c = undefined c.toString()//"报错"
En utilisant le mode base de la méthode toString() du type Number, les nombres peuvent être générés dans différentes bases. Par exemple, la base du binaire est 2, la base de l'octal est 8 et la base de l'hexadécimal est 16.
var iNum = 10; alert(iNum.toString(2)); //输出 "1010" alert(iNum.toString(8)); //输出 "12" alert(iNum.toString(16)); //输出 "A"
Méthode 2 : fonction String()
Lors de l'utilisation de la fonction String() pour une conversion de type forcée, la méthode toString() est en fait appelée pour Number et Boolean,
mais pour null et indéfini, la méthode toString() ne sera pas appelé, il convertira null directement en "null" et undefined directement en "undefined" Si le paramètre de la méthode String est un objet, il renvoie une chaîne de type s'il s'agit d'un tableau, il renvoie la forme chaîne de ; le tableau.
var a = null String(a)//"null" var b = undefined String(b)//"undefined"2. Convertissez d'autres types de données en Number
Méthode 1 : utilisez la fonction Number()
Ce qui suit est divisé en deux cas, l'un est que le paramètre est une valeur de type primitif et l'autre est que le paramètre est un objet
(1) Valeur de type primitif
① Chaîne en nombre
String({a: 1}) // "[object Object]" String([1, 2, 3]) // "1,2,3"
Number('324') // 324 Number('324abc') // NaN Number('') // 0
③undéfini en nombre : Convertir en NaN
Number(true) // 1 Number(false) // 0
④null en nombre : Convertir en 0
Number(undefined) // NaN
⑤Number() accepte une valeur numérique comme paramètre À ce stade, il peut reconnaître à la fois les nombres hexadécimaux et octaux négatifs commençant par 0. , et renvoie La valeur est toujours une valeur décimale
Number(null) // 0
(2) Objet
La règle simple est que lorsque le paramètre de la méthode Number est un objet, NaN sera renvoyé sauf s'il s'agit d'un tableau contenant une seule valeur.
Number(3.15); //3.15 Number(023); //19 Number(0x12); //18 Number(-0x12); //-18
Méthode 2 : parseInt() & parseFloat()
Cette méthode est spécialement utilisée pour traiter les chaînes parseInt() convertit une chaîne en un entier et peut extraire le contenu entier valide d'une chaîne, puis la convertir en. Nombre. parseFloat() convertit une chaîne en nombre à virgule flottante. parseFloat() est similaire à parseInt(), sauf qu'il peut obtenir des décimales valides.
Number({a: 1}) // NaN Number([1, 2, 3]) // NaN Number([5]) // 5
parseInt() utilise par défaut la conversion décimale lorsqu'il n'y a pas de deuxième paramètre, la valeur est convertie en utilisant le deuxième paramètre comme base. Si la base est incorrecte, elle renvoie NaN
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
La différence. entre les deux : La fonction Number convertit une chaîne en valeur numérique et est beaucoup plus stricte que la fonction parseInt. Fondamentalement, tant qu'un caractère ne peut pas être converti en valeur numérique, la chaîne entière sera convertie en NaN.
console.log(parseInt("13")); //13 console.log(parseInt("11",2)); //3 console.log(parseInt("17",8)); //15 console.log(parseInt("1f",16)); //31
Dans le code ci-dessus, parseInt analyse les caractères un par un, tandis que la fonction Number convertit le type de la chaîne dans son ensemble.
De plus, le traitement des chaînes vides est également différentparseInt('42 cats') // 42 Number('42 cats') // NaN
. 它的转换规则相对简单:只有空字符串("")、null、undefined、+0、-0 和 NaN 转为布尔型是 false,其他的都是 true,空数组、空对象转换为布尔类型也是 true,甚至连false对应的布尔对象new Boolean(false)也是true 【推荐学习:javascript高级教程】Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // false
Boolean({}) // true
Boolean([]) // true
Boolean(new Boolean(false)) // true
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!