区分JavaScript中的undefined,null和NaN
来源:互联网 发布:10019 签名数据失败 编辑:程序博客网 时间:2024/05/21 17:04
先看看下面语句的运行结果:
1: var a;
2: alert(a); //显示"undefined"
3: alert(typeof a); //显示"undefined"
4: alert(b); //显示"undefined"
以上可以看出:a的值和类型都是'underfined'
1: var a = null;
2: alert(a); //显示"null"
3: alert(typeof a); //显示"object"
以上可以看出:a为赋值为null的变量,值为null,类型为object
1: var b;
2: alert(null==b); // 显示"true"
3: alert(null == undefined); //显示"true "
以上说明undefined与null是相等的
1: var a1; //值和类型都是'underfined'
2: var a2 = null; //值为null,类型为object
3: alert(a1 == a2); //显示"true"
以上两例说明null和underfind很相似,至少undefined与null是相等的。
1: alert(100 + null); //显示"100"
2: alert(100 + undefined); //显示"NaN"
以上可以看出null和underfind的区别!
通过以上实验得出以下总结:
1、underfined: 未知的变量名,或未赋值的变量。
2、null: 特殊的object
3、NaN: 特殊的number
1: alert(typeof(undefined));//显示 'undefined'
2: alert(typeof(null));//显示 'object'
3: alert(typeof(""));//显示 'string'
4: alert(typeof(0));//显示 'number'
5: alert(typeof(false));//显示 'boolean'
6:
7: var a7 = NaN;
8: var a8 = undefined;
9:
10: alert(typeof a7); //显示"number"
11: alert(typeof a8); //显示"undefined"
以上说明NaN是一种特殊的number,和null、undefined都不会相等。
函数参数没有和为空的判断
先看看下面的例子:
1: Test = function(a)
2: {
3: alert(typeof a);
4: }
5:
6: Test(); //没传参数,运行结果为"underfined"
7: Test(null); //传了空参数,运行结果为"object", 如果要使用a.length等,就会报错,因为对象为空!
所以正确的参数检查是:
1: Test = function(v) 2: { 3: if (v !== null && typeof v != 'undefined') 4: { 5: //使用v的属性,例如v.length, v.property 6: // if (v.offsetX != undefined) 7: // if ( value == undefined ) 8: } 9: }
- 区分JavaScript中的undefined,null和NaN
- 区分JavaScript中的undefined,null和NaN
- JavaScript中的NaN、Infinity、null和undefined
- JavaScript 中的 undefined、null 和 NaN
- JavaScript Undefined,Null类型和NaN值
- 弄懂javascript中undefined、null 和 NaN
- js中的undefined 和 null, NaN
- javascript中的‘null’与‘undefined’的区分
- js中的undefined,NaN,null
- JS中的NaN、undefined、null
- Javascript 中的非空判断 undefined,null, NaN的区别
- javascript中的数据类型及null、NaN、undefined的区别
- JavaScript中的 null,undefined,NaN,false,-0,0,"",''
- Javascript 与 ActionScript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- Javascript 中 null、NaN和undefined的区别
- JavaScript Undefined,Null类型和NaN值区别
- Javascript 中 null、NaN和undefined的区别
- 自然语言处理学习篇01——Basic Text Processing
- tomcat resin apache Nginx
- char
- WEB-QTP随想录—跟长辈的通话
- Model 1和Model 2
- 区分JavaScript中的undefined,null和NaN
- WEB-QTP随想录—关于照相机
- Windows下Cygwin环境的Hadoop安装(0)- 序言及步骤索引
- WEB-QTP随想录—自行车的事故
- 全息投影
- slub介绍
- WEB-QTP随想录—到访的朋友
- WEB-QTP随想录—关于食品安全
- Java基础之面向对象(小结)