Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des types de données en JavaScript

黄舟
Libérer: 2017-03-01 15:00:37
original
1327 Les gens l'ont consulté

1.Type non défini

Le type non défini n'a qu'une seule valeur, qui est la non définie spéciale. Lorsqu'une variable est déclarée à l'aide de var mais non initialisée, la valeur de la variable n'est pas définie, par exemple :

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

Cet exemple déclare uniquement La variable message est définie, mais elle n'est pas initialisée. En comparant cette variable avec le littéral indéfini, le résultat montre qu'elles sont égales. Cet exemple est équivalent à l'exemple suivant :

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

Cet exemple initialise explicitement la variable message avec une valeur non définie. Mais nous n'avons pas besoin de le faire, car les valeurs non initialisées ne seront pas définies par défaut.

2. Type nul

Le type nul est le deuxième type de données avec une seule valeur. D'un point de vue logique, une valeur nulle représente un pointeur d'objet nul, et c'est pourquoi "object" est renvoyé lors de l'utilisation de l'opérateur typeof pour détecter une valeur nulle, comme le montre l'exemple suivant :

var car = null;
alert(typeof car); // "object"
Copier après la connexion


Si vous définissez une variable qui va être utilisée pour contenir un objet dans le futur, il est préférable d'initialiser la variable à null plutôt qu'à une autre valeur . De cette façon, vous pouvez savoir si la variable correspondante contient déjà une référence à un objet en vérifiant directement la valeur nulle, comme le montre l'exemple suivant :

if (car != null){
// 对car 对象执行某些操作
}
Copier après la connexion

Réel Ci-dessus, la valeur indéfinie est dérivée de la valeur nulle, donc ECMA-262 stipule que leur test d'égalité doit renvoyer vrai :

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

Ici, entre null et indéfini L'opérateur d'égalité (==) renvoie toujours vrai, mais notez que cet opérateur convertit ses opérandes à des fins de comparaison (nous y reviendrons plus tard dans ce chapitre). Bien que null et indéfini aient cette relation, leurs utilisations sont complètement différentes. Comme mentionné précédemment, il n’est en aucun cas nécessaire de définir explicitement la valeur d’une variable sur indéfini, mais la même règle ne s’applique pas à null. En d’autres termes, tant qu’une variable destinée à contenir un objet ne contient pas réellement d’objet, vous devez explicitement laisser la variable contenir une valeur nulle. Cela non seulement
reflète la convention de null en tant que pointeur d'objet nul, mais permet également de mieux distinguer null et indéfini.

3.Type booléen

Ce type n'a que deux valeurs littérales : vrai et faux. Ces deux valeurs ne sont pas la même chose que les valeurs numériques. Donc vrai n'est pas forcément égal à 1, et faux n'est pas forcément égal à 0. Voici un exemple d'attribution d'une valeur de type

à une variable :

var found = true;
var lost = false;
Copier après la connexion

Il est à noter que mots de type booléen Les valeurs true et false sont sensibles à la casse. Autrement dit, True et False (et autres formes de casse mixtes) ne sont pas des valeurs booléennes, mais simplement des identifiants. Bien qu'il n'y ait que deux valeurs littérales de type booléen, tous les types de valeurs dans ECMAScript ont des valeurs équivalentes à ces deux valeurs booléennes. Pour convertir une valeur en sa valeur booléenne correspondante, vous pouvez appeler la fonction de conversion Boolean(), comme indiqué dans l'exemple suivant :

var message = "Hello world!";
var messageAsBoolean = Boolean(message);
BooleanExample01.htm
Copier après la connexion

Dans cet exemple, la chaîne message est convertie en une valeur booléenne, qui est stockée dans la variable messageAsBoolean. La fonction Boolean() peut être appelée sur une valeur de n'importe quel type de données et renverra toujours une valeur booléenne. Le fait que la valeur renvoyée soit vraie ou fausse dépend du type de données de la valeur à convertir et de sa valeur réelle. Le tableau suivant donne différents types de données et leurs règles de conversion correspondantes.

Type de données

Convertir en la valeur de true

Convertir en la valeur de false

Booléen

vrai

faux

Chaîne

Toute chaîne non vide

"" (chaîne vide)

Nombre

Toute valeur numérique non nulle (y compris l'infini)

0 et NaN

Objet non défini

Tout objet

null

indéfini

undefined

4.Number类型

5.NaN

NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以0 都会导致错误,从而停止代码执行。但在ECMAScript 中,任何数值除以0 会返回NaN①,因此不会影响其他代码的执行。NaN 本身有两个非同寻常的特点。首先,任何涉及NaN 的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。其次,NaN 与任何值都不相等,包括NaN 本身。例如,下面的代码会返回false:


alert(NaN == NaN); //false

针对NaN 的这两个特点,ECMAScript 定义了isNaN()函数。这个函数接受一个参数,该参数可以是任何类型,而函数会帮我们确定这个参数是否“不是数值”。isNaN()在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的值会直接转换为数值,例如字符串"10"或Boolean 值。而任何不能被转换为数值的值都会导致这个函数返回true。请看下面的例子:

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10 是一个数值)
alert(isNaN("10")); //false(可以被转换成数值10)
alert(isNaN("blue")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值1)
Copier après la connexion

6.数值转换

有3 个函数可以把非数值转换为数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。这3 个函数对于同样的输入会有返回不同的结果

 以上就是JavaScript中数据类型详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal