当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
区分JavaScript中的undefined,null和NaN
生活随笔
收集整理的这篇文章主要介绍了
区分JavaScript中的undefined,null和NaN
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
区分underfined,null和NaN
先看看下面语句的运行结果:
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"以上说明赋值为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虽然很相似,但还是有小区别的,嘿嘿!
underfined: 未知的变量名,或未赋值的变量。
null: 特殊的object
NaN: 特殊的number
函数参数没有和为空的判断
先看看下面的例子:
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: }当然,也可以用 if(v) 来简化编码,可以检查v没给定和v为null的情况,但要注意,如果传入一个boolean的true或false,用if(v)就意味着 if( v == true),代码逻辑可能不是你想要的结果!
- ExtJS+ASP.NET实现真实的进度条显示服务器端长时间操作的进度
- ExtJS+ASP.NET实现异步Tree的节点搜索和查找下一个(FindNext)
- ExtJS+ASP.NET实现Tree节点的拖动(DragDrop)
- ExtJS+ASP.NET实现Grid到Tree的拖动(DragDrop)
- 使用YUI Compressor和DOS批处理脚本压缩JavaScript和CSS
- 优化JavaScript
- 区分JavaScript中的underfined,null和NaN
总结
以上是生活随笔为你收集整理的区分JavaScript中的undefined,null和NaN的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 使用.NET读取XML文件
- 下一篇: Spring切入点表达式常用写法