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 相关文章推荐
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
Apr 01 Javascript
对jQuery的事件绑定的一些思考(补充)
Apr 20 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
javascript获取ckeditor编辑器的值(实现代码)
Nov 18 Javascript
探寻JavaScript中this指针指向
Apr 23 Javascript
小白谈谈对JS原型链的理解
May 03 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
Mar 09 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
js正则表达式校验指定字符串的方法
Jul 23 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
May 31 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 Javascript
微信小程序自定义底部弹出框动画
Nov 18 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
德劲1104的电路分析与改良
2021/03/01 无线电
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
理解JS事件循环
2016/01/07 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
python time模块用法实例详解
2014/09/11 Python
python使用super()出现错误解决办法
2017/08/14 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
对python中各个response的使用说明
2020/03/28 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
Python 内存管理机制全面分析
2021/01/16 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
C面试题
2015/10/08 面试题
写自荐信的七个技巧
2013/10/15 职场文书
六一亲子活动总结
2014/07/01 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
python爬虫--selenium模块
2021/03/31 Python
k-means & DBSCAN 总结
2021/04/27 Python
教你怎么用python实现字符串转日期
2021/05/24 Python