javascript中的数据类型及null、NaN、undefined的区别
来源:互联网 发布:西安网络营销策划公司 编辑:程序博客网 时间:2024/05/29 19:17
1、分析
javascript的数据类型共分为5种:object、number、boolean、string、undefined。其中null是object类型的特殊值,NaN是number的特殊值
var a1; var a2 = true; var a3 = 1; var a4 = "Hello"; var a5 = new Object(); var a6 = null; var a7 = NaN; var a8 = undefined; alert(typeof a); //显示"undefined" ,这是因为a没有定义 alert(typeof a1); //显示"undefined" , 这是因为a1声明了,但没赋值 alert(typeof a2); //显示"boolean" alert(typeof a3); //显示"number" alert(typeof a4); //显示"string" alert(typeof a5); //显示"object" alert(typeof a6); //显示"object" alert(typeof a7); //显示"number" alert(typeof a8); //显示"undefined" 声明了,并且赋值为"undefined"
由上面可以看出typeof得到的值为undefined有三种情况:
(1)没有定义;(2)定义了没赋初始值;(3)定义了,并赋值为undefined
由于typeof是获取变量的数据类型,而Null和NaN不是数据类型里面的,故不可能会得到Null和NaN
当一个变量定义为var x = null; 用typeof表达式得到object
当以个变量定义为var x = NaN; 用typeof表达式得到number
需要注意的是,当一个变量用typeof得到的值是undefined的时候,直接输出该变量的值也是undefined;而var x = null; 和 var x = NaN; 如果直接输出x,得到的值分别是null和NaN
2、关于它们的比较运算
var a1; //a1的值为undefined var a2 = null; var a3 = NaN; alert(a1 == a2); //显示"true" alert(a1 != a2); //显示"false" alert(a1 == a3); //显示"false" alert(a1 != a3); //显示"true" alert(a2 == a3); //显示"false" alert(a2 != a3); //显示"true" alert(a3 == a3); //显示"false" alert(a3 != a3); //显示"true"
结论:undefined与null相等,undefined、null都与NaN不相等,并且NaN也不等于NaN
0 0
- javascript中的数据类型及null、NaN、undefined的区别
- javascript 中Undefined,Null,NaN 数据类型的区别
- Javascript 中的非空判断 undefined,null, NaN的区别
- Javascript 与 ActionScript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别 typeof 简介
- 自我遮挡的二维图像配准
- android studio上非常好用的快捷键
- Unity分屏技术
- Mysql Server 服务启动失败解决
- 事件处理程序
- javascript中的数据类型及null、NaN、undefined的区别
- mysql简单操作
- php逐个汉字遍历字符串
- 消息推送概述
- 读韩都衣舍,浅谈激励
- 使用WakeLock使Android应用程序保持后台唤醒
- VPN服务器配置详解(二)
- 命令模式
- [Wiki]Ubuntu16.04+CUDA8.0编译Caffe过程