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 相关文章推荐
js setattribute批量设置css样式
Nov 26 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
Javascript中封装window.open解决不兼容问题
Sep 28 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
JS简单实现String转Date的方法
Mar 02 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
May 25 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 Javascript
基于bootstrap写的一点localStorage本地储存
Nov 21 Javascript
webpack的pitching loader详解
Sep 23 Javascript
在Vuex中Mutations修改状态操作
Jul 24 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 魔术方法使用说明
2009/10/20 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
python3读取csv文件任意行列代码实例
2020/01/13 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
医学院学生求职简历的自我评价
2013/10/24 职场文书
新学期家长寄语
2014/01/19 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
个人先进事迹材料
2014/12/29 职场文书
学校重阳节活动总结
2015/03/24 职场文书
庆七一晚会主持词
2015/06/30 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
golang switch语句的灵活写法介绍
2021/05/06 Golang