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静态的url如何传递
May 03 Javascript
JS读取cookies信息(记录用户名)
Jan 10 Javascript
Json对象与Json字符串互转(4种转换方式)
Mar 27 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
JavaScript中将数组进行合并的基本方法讲解
Mar 07 Javascript
jQuery实现查找最近父节点的方法
Jun 23 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
vue cli升级webapck4总结
Apr 04 Javascript
vue中keep-alive组件的入门使用教程
Jun 06 Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 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
php intval的测试代码发现问题
2008/07/27 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
python re.match()用法相关示例
2021/01/27 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
英语自我评价范文
2014/01/24 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
任命书格式
2014/06/05 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
2015年档案室工作总结
2015/05/23 职场文书
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python