js判断undefined类型,undefined,null, 的区别详细解析


Posted in Javascript onDecember 16, 2013

js判断undefined类型

今天使用showModalDialog打开页面,返回值时。当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回值是undefined
所以自作聪明判断  

var reValue=window.showModalDialog("","","");
  if (reValue== undefined){
  alert("undefined");
 }

发现判断不出来,最后查了下资料要用typeof

方法:
if (typeof(reValue) == "undefined") {
    alert("undefined");
}  
typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

js中undefined,null,NaN的区别

1.类型分析:
js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。
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"
alert(typeof a1); //显示"undefined"
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,null是一种特殊的object,NaN是一种特殊的number。

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"

从上面的代码可以得出结论:(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等。

JavaScript undefined 属性

定义和用法
undefined 属性用于存放 JavaScript 的 undefined 值。

语法
undefined

说明
无法使用 for/in 循环来枚举 undefined 属性,也不能用 delete 运算符来删除它。
undefined 不是常量,可以把它设置为其他值。
当尝试读取不存在的对象属性时也会返回 undefined。

提示和注释
提示:只能用 === 运算来测试某个值是否是未定义的,因为 == 运算符认为 undefined 值等价于 null。
注释:null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。

实例
在本例中,我们将检测两个变量中未定义的一个:
<script type="text/javascript">
var t1=""
var t2
if (t1===undefined) {document.write("t1 is undefined")}
if (t2===undefined) {document.write("t2 is undefined")}
</script>

输出:
t2 is undefined

Javascript 相关文章推荐
javascript 图片上传预览-兼容标准
Jun 01 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
JS基础之undefined与null的区别分析
Aug 08 Javascript
再说AutoComplete自动补全之实现原理
Nov 05 Javascript
js完美解决IE6不支持position:fixed的bug
Apr 24 Javascript
AngularJS 模型详细介绍及实例代码
Jul 27 Javascript
原生js和css实现图片轮播效果
Feb 07 Javascript
Node.js操作redis实现添加查询功能
May 25 Javascript
使用JS判断页面是首次被加载还是刷新
May 26 Javascript
Jquery动态列功能完整实例
Aug 30 jQuery
详解js中的原型,原型对象,原型链
Jul 16 Javascript
JavaScript实例 ODO List分析
Jan 22 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 #Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 #Javascript
js中AppendChild与insertBefore的用法详细解析
Dec 16 #Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
Dec 16 #Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 #Javascript
JS冒泡事件的快速解决方法
Dec 16 #Javascript
JS批量操作CSS属性详细解析
Dec 16 #Javascript
You might like
PHP5中MVC结构学习
2006/10/09 PHP
获得Google PR值的PHP代码
2007/01/28 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
javascript Base类 包含基本的方法
2009/07/22 Javascript
Javascript调用C#代码
2011/01/17 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
Python项目打包成二进制的方法
2020/12/30 Python
关键字throw与throws的用法差异
2016/11/22 面试题
门诊挂号室室长岗位职责
2013/11/27 职场文书
人生遥控器观后感
2015/06/11 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
《迟到》教学反思
2016/02/24 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书