Maison interface Web js tutoriel Notes d'étude sur le type de données JavaScript_compétences Javascript

Notes d'étude sur le type de données JavaScript_compétences Javascript

May 16, 2016 pm 03:18 PM
javascript 数据类型

Il existe 5 types de données simples dans ECMAscript, également appelés types de données de base : Indéfini, Null, Booléen, Nombre et Chaîne. Il existe également un type de données complexe : l'objet.

Type non défini

Lorsqu'une variable est déclarée à l'aide de var mais n'est pas initialisée, la valeur de la variable n'est pas définie. Tel que :

var number;
document.write(number); //undefined
Copier après la connexion

Si la variable n'est pas déclarée, l'erreur suivante se produira. Tel que :

document.write(str); //错误
Copier après la connexion

Mais lorsqu'elle est exécutée avec typeof, une valeur non définie sera renvoyée, qu'elle soit déclarée ou non. Tel que :

var num;
document.write(typeof num); //undefined
document.write(typeof str); //undefined
Copier après la connexion

Type nul

Lors de l'utilisation de typeof pour détecter null, "object" sera renvoyé. Tel que :

var num = null;
document.write(typeof num); //object
Copier après la connexion

En fait, la valeur indéfinie est dérivée de la valeur nulle, donc elles retourneront vrai si elles sont égales. Tel que :

alert(null == undefined); //true
Copier après la connexion

Ce qu'il convient de noter ici, c'est que tant que la variable destinée à enregistrer l'objet n'a pas réellement enregistré l'objet, la variable doit être explicitement autorisée à enregistrer la valeur nulle. Cela aidera à distinguer null et indéfini. Tel que :

var num1 = null;
var num2;
document.write(typeof num1 + " " + typeof num2); //object undefined
Copier après la connexion

Type booléen

Pour convertir une valeur en sa valeur booléenne correspondante, vous pouvez utiliser la fonction de conversion Boolean(). Tel que :

var str = "helloworld";
document.write(Boolean(str)); //true
Copier après la connexion

Le chapitre 3.4.4 du livre "JavaScript Advanced Programming Design" donne un tableau des différents types de données et leurs règles de conversion correspondantes. Il existe probablement les types suivants :

  • Lorsque le type de données est String, toute chaîne non vide sera convertie en vrai
  • Lorsque le type de données est Nombre, sauf 0 et NaN qui seront convertis en faux, tout le reste sera converti en vrai
  • Lorsque le type de données est Objet, sauf null, il sera converti en vrai
  • Lorsque le type de données est Indéfini, n/a sera converti en vrai et undéfini sera converti en faux

Il convient de noter ici que les instructions if utilisent souvent des conversions booléennes qui exécutent automatiquement les réponses comme conditions. Tel que :

var str = "helloworld";
if (str){
  document.write("hellothere");
} //hellothere
Copier après la connexion

Type de numéro

En plus d'être représentés en décimal, les entiers peuvent également être représentés par des valeurs littérales octales ou hexadécimales. Le premier bit de la valeur littérale octale doit être 0, suivi d'une séquence de chiffres octaux (0~7). Tel que :

var num1 = 070; //八进制的56
var num2 = 032; //八进制的32
var num3 = 079; //错误的八进制(>7)
var num4 = 09; //错误的八进制(>7)
Copier après la connexion

Les deux premiers chiffres d'une valeur littérale hexadécimale doivent être 0x, suivis de n'importe quel chiffre hexadécimal (0~9 et A~F). Tel que :

var num1 = 0xA; //十六进制的10
var num1 = 0xa; //也是十六进制的10(字母不区分大小写)
Copier après la connexion

Valeur à virgule flottante

La chose importante à noter ici est que vous ne devez jamais comparer des valeurs à virgule flottante spécifiques. Tel que :

var a = 0.1;
var b = 0.2;
if (a + b == 0.3){
  document.write("you are right")
} //因为0.1 加上0.2 实际上等于0.30000000000000004
Copier après la connexion

Plage de valeurs

Les valeurs maximales et minimales que ECMAScript peut représenter sont stockées dans Number.MAX_VALUE et Number.MIN_VALUE. Pour déterminer si une valeur est finie, utilisez la fonction isFinite(). Tel que :

document.write(isFinite(Number.MAX_VALUE + Number.MAX_VALUE)); //false
Copier après la connexion

NaN

0 divisé par 0 renverra NaN, le nombre positif divisé par 0 renverra l'infini et le nombre complexe renverra -Infini. Deuxièmement, NaN n’est égal à aucun nombre, y compris lui-même. De plus, la fonction isNaN() peut nous aider à déterminer si ce paramètre n'est "pas une valeur numérique". Tel que :

document.write(isNaN("a")); //true;
document.write(isNaN("324")); //false;
document.write(isNaN(true)); //false;
document.write(isNaN(false)); //false;
document.write(isNaN(NaN)); //true;
Copier après la connexion

Conversion numérique

Il existe trois fonctions qui peuvent convertir des valeurs non numériques en valeurs numériques : Number(), parseInt() et parseFloat().

Les règles de conversion de Number() sont les suivantes :

S'il s'agit d'une valeur booléenne, vrai et faux seront convertis en 1 et 0.
S'il s'agit d'une valeur numérique, elle reste inchangée.
S'il s'agit d'une valeur nulle, elle est convertie en 0.
S'il n'est pas défini, renvoie NaN.
S'il s'agit d'une chaîne, suivez les règles suivantes :

  • S'il n'y a que des nombres, convertissez-les en valeurs décimales.
  • S'il est au format virgule flottante, convertissez-le en la valeur à virgule flottante correspondante. Les zéros non significatifs sont également ignorés.
  • S'il est au format hexadécimal, il sera converti en nombre décimal.
  • Si la chaîne est vide, elle sera convertie en 0.
  • Les autres cas seront convertis en NaN.

Voir l'exemple ci-dessous pour plus de détails :

document.write(Number(true)); //1
document.write(Number(false)); //0
document.write(Number("789")); //789
document.write(Number(null)); //0
document.write(Number(undefined)); //NaN
document.write(Number("02.0942")); //2.0942
document.write(Number(0xa)); //10
document.write(Number("")); //0
document.write(Number("fdsa")); //NaN
Copier après la connexion

parseInt()的转换规则如下:

  • 如果第一个字符不是数字字符或者符号,parseInt()会返回NaN。
  • 用parseInt()转换空字符串会返回NaN。
  • 如果第一个字符是数字字符,它会继续解析第二个字符,直到遇到了一个非数字字符.

下面是具体的例子:

document.write(parseInt("fds")); //NaN
document.write(parseInt("")); //NaN
document.write(parseInt("1111112abc")); //1111112
document.write(parseInt("-1111112abc")); //-1111112
document.write(parseInt("+1111112abc")); //-1111112
document.write(parseInt("0xa")); //10
document.write(parseInt("0022.00009")); //22
document.write(parseInt("070")); //ECMAScript 3认为是56(八进制), ECMAScript 5认为是70(十进制)
Copier après la connexion

另外需要注意的是,ECMAScript 5已经不具备解析八进制值的能力了所以为了消除这个问题,可以为这个函数提供第二个参数:转换时使用的基数(多少进制),具体如下:

document.write(parseInt("070",10)); //70
document.write(parseInt("070",8)); //56
document.write(parseInt("070",16)); //112
Copier après la connexion

多数情况下,最好默认设置成10进制。

parseFloat()的转换规则如下:

  • 与parseInt()类似,不同的是字符串第一个小数点是有效的,而从第二个小数点开始包括第二个小数点是无效的。
  • 他不能解析十六进制数值!!!
  • 他只能解析十进制数值!!!
  • 他没有用第二个基数来指定进制的用法。

下面是具体的例子:

document.write(parseFloat("421")); //421
document.write(parseFloat("0421.32.1")); //421.32
document.write(parseFloat("0xaafd")); //0
document.write(parseFloat("070")); //70
document.write(parseFloat("070abc")); //70
document.write(parseFloat("")); //NaN
document.write(parseFloat("abc")); //NaN
Copier après la connexion

String 类型

要把一个值转换成字符串有两种方式。第一种是使用几乎每个值都有的toString()方法。如下:

document.write((533).toString(10)); //"533"
document.write((0xa).toString(10)); //"10"
document.write((0xa).toString(2)); //"1010"
document.write((true).toString(10)); //"true"
document.write((false).toString(10)); //"false"
Copier après la connexion

另外需要注意的是,null 和 undefined 不能转换。

document.write((null).toString(10)); //
document.write((undefined).toString(10)); //
Copier après la connexion

如果不知道需要转换的数值是否是null 或者undefined 则应该使用转型函数String(),如果是null 会返回"null"如果是undefined 会返回"undefined"。如下:

document.write(String(null)); //"null"
document.write(String(undefined)); //"undefined"
Copier après la connexion

另外在下一篇文章中再详细介绍Object 类型。

以上就是关于JavaScript数据类型的简单介绍,希望对大家学习JavaScript数据类型有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel type de données doit être utilisé pour le champ sexe dans la base de données MySQL ? Quel type de données doit être utilisé pour le champ sexe dans la base de données MySQL ? Mar 14, 2024 pm 01:21 PM

Dans une base de données MySQL, les champs de genre peuvent généralement être stockés en utilisant le type ENUM. ENUM est un type d'énumération qui nous permet d'en sélectionner une comme valeur d'un champ parmi un ensemble de valeurs prédéfinies. ENUM est un bon choix pour représenter une option fixe et limitée comme le sexe. Examinons un exemple de code spécifique : supposons que nous ayons une table appelée « utilisateurs » qui contient des informations sur l'utilisateur, y compris son sexe. Maintenant, nous voulons créer un champ pour le genre, nous pouvons concevoir la structure du tableau comme ceci : CRE

Quel est le meilleur type de données pour les champs de genre dans MySQL ? Quel est le meilleur type de données pour les champs de genre dans MySQL ? Mar 15, 2024 am 10:24 AM

Dans MySQL, le type de données le plus approprié pour les champs de genre est le type d'énumération ENUM. Le type d'énumération ENUM est un type de données qui permet de définir un ensemble de valeurs possibles. Le champ genre est adapté à l'utilisation du type ENUM car le genre n'a généralement que deux valeurs, à savoir masculin et féminin. Ensuite, j'utiliserai des exemples de code spécifiques pour montrer comment créer un champ de genre dans MySQL et utiliser le type d'énumération ENUM pour stocker les informations de genre. Voici les étapes : Tout d'abord, créez une table nommée utilisateurs dans MySQL, y compris

Carte mentale de la syntaxe Python : compréhension approfondie de la structure du code Carte mentale de la syntaxe Python : compréhension approfondie de la structure du code Feb 21, 2024 am 09:00 AM

Python est largement utilisé dans un large éventail de domaines grâce à sa syntaxe simple et facile à lire. Il est crucial de maîtriser la structure de base de la syntaxe Python, à la fois pour améliorer l’efficacité de la programmation et pour acquérir une compréhension approfondie du fonctionnement du code. À cette fin, cet article fournit une carte mentale complète détaillant divers aspects de la syntaxe Python. Variables et types de données Les variables sont des conteneurs utilisés pour stocker des données en Python. La carte mentale affiche les types de données Python courants, notamment les entiers, les nombres à virgule flottante, les chaînes, les valeurs booléennes et les listes. Chaque type de données a ses propres caractéristiques et méthodes de fonctionnement. Opérateurs Les opérateurs sont utilisés pour effectuer diverses opérations sur les types de données. La carte mentale couvre les différents types d'opérateurs en Python, tels que les opérateurs arithmétiques, ratio

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Quel est le meilleur choix de type de données pour le champ de genre dans MySQL ? Quel est le meilleur choix de type de données pour le champ de genre dans MySQL ? Mar 14, 2024 pm 01:24 PM

Lors de la conception de tables de base de données, le choix du type de données approprié est très important pour l'optimisation des performances et l'efficacité du stockage des données. Dans la base de données MySQL, il n'existe pas vraiment de meilleur choix pour le type de données pour stocker le champ de genre, car le champ de genre n'a généralement que deux valeurs : masculin ou féminin. Mais pour des raisons d’efficacité et de gain de place, nous pouvons choisir un type de données approprié pour stocker le champ genre. Dans MySQL, le type de données le plus couramment utilisé pour stocker les champs de genre est le type d'énumération. Un type énumération est un type de données qui peut limiter la valeur d'un champ à un ensemble limité.

Explication détaillée de la façon d'utiliser le type booléen dans MySQL Explication détaillée de la façon d'utiliser le type booléen dans MySQL Mar 15, 2024 am 11:45 AM

Explication détaillée de l'utilisation des types booléens dans MySQL MySQL est un système de gestion de bases de données relationnelles couramment utilisé dans les applications pratiques, il est souvent nécessaire d'utiliser des types booléens pour représenter des valeurs logiques vraies et fausses. Il existe deux méthodes de représentation de type booléen dans MySQL : TINYINT(1) et BOOL. Cet article présentera en détail l'utilisation des types booléens dans MySQL, y compris la définition, l'affectation, la requête et la modification des types booléens, et l'expliquera avec des exemples de code spécifiques. 1. Le type booléen est défini dans MySQL et peut être

Introduction à la syntaxe de base et aux types de données du langage C Introduction à la syntaxe de base et aux types de données du langage C Mar 18, 2024 pm 04:03 PM

Le langage C est un langage de programmation informatique largement utilisé, efficace, flexible et puissant. Pour maîtriser la programmation en langage C, vous devez d’abord comprendre sa syntaxe de base et ses types de données. Cet article présentera la syntaxe de base et les types de données du langage C et donnera des exemples. 1. Syntaxe de base 1.1 Commentaires En langage C, les commentaires peuvent être utilisés pour expliquer le code afin d'en faciliter la compréhension et la maintenance. Les commentaires peuvent être divisés en commentaires sur une seule ligne et en commentaires sur plusieurs lignes. //Ceci est un commentaire sur une seule ligne/*Ceci est un commentaire sur plusieurs lignes*/1.2 Mot clé Langage C

Python d'entrée à la maîtrise : de zéro base au développement de projet Python d'entrée à la maîtrise : de zéro base au développement de projet Feb 20, 2024 am 11:42 AM

1. Introduction à Python Python est un langage de programmation généraliste, facile à apprendre et puissant. Il a été créé par Guido van Rossum en 1991. La philosophie de conception de Python met l'accent sur la lisibilité du code et fournit aux développeurs de riches bibliothèques et outils pour les aider à créer diverses applications rapidement et efficacement. 2. Syntaxe de base de Python La syntaxe de base de Python est similaire à celle d'autres langages de programmation, notamment les variables, les types de données, les opérateurs, les instructions de flux de contrôle, etc. Les variables sont utilisées pour stocker des données. Les types de données définissent les types de données que les variables peuvent stocker. Les opérateurs sont utilisés pour effectuer diverses opérations sur les données. Les instructions de flux de contrôle sont utilisées pour contrôler le flux d'exécution du programme. 3.Types de données Python en Python

See all articles