var message; alert(message == undefined); //true
var message = undefined; alert(message == undefined); //true
var car = null; alert(typeof car); // "object"
if (car != null){ // 对car 对象执行某些操作 }
alert(null == undefined); //true
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;
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
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 |
NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,在其他编程语言中,任何数值除以0 都会导致错误,从而停止代码执行。但在ECMAScript 中,任何数值除以0 会返回NaN①,因此不会影响其他代码的执行。NaN 本身有两个非同寻常的特点。首先,任何涉及NaN 的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。其次,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)
有3 个函数可以把非数值转换为数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。这3 个函数对于同样的输入会有返回不同的结果
以上就是JavaScript中数据类型详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!