undefined、null应用场合
来源:互联网 发布:mysql dump 导出表 编辑:程序博客网 时间:2024/06/05 02:26
在JavaScript 中,经常会用到undefined和null,这里面还有些小的诀窍。undefined顾名思义就是未定义,也就是程序中没有声明过;null则是虽然声明了,但没有赋值。
1、场景1
对于没有声明或定义的变量a,适合的空判断方法是typeof(a) ==‘undefined’方式,而不适合用a==undefined或a==null判断。
if(typeof a == 'undefined'){alert('a is not defined.');}try{if(a == undefined){alert('2a is not defined.');}if(a == null){alert('a is null.');}}catch(e){}
2、场景2
对于已经声明的变量a,使用typeof(a) ==‘undefined’方式,a==undefined或a==null判断均可以得出正确结果。
var b;if(b == undefined){alert('b is not defined. ')}if(b==null){alert('b is null.');}if(typeof b == 'undefined'){alert('b undefined. ')}
3、场景3
对于函数参数的空判断,使用typeof(a) ==‘undefined’方式,a==undefined或a==null三种方式均可。
function fun(p1,p2,p3){ if(p3 == undefined){ alert('p3 not defined.'); } if(typeof p3 == 'undefined'){ alert('p3 NOT defined.'); } if(p3 == null){ alert('p3 is null.'); } alert(p1 +',' + p2 + "," + p3); } fun(1,null);
可以看到,p3参数未输入,但可以使用p3==undefined和p3==null来判断空,这是以因为参数中已声明p3参数。
p2传入了null值,其值不再是undefined,而修改为null。
4、总结
综上所述,对于函数的参数,可以用a==null做空判断比较合适,不论传入的是否是null值、undefined值,还是未传入值,都可以用null进行判断。
对于函数外的参数,若不确定已定义,则应用 typeof(a) ==''undefined'来进行判断,可准确地判空,且不会抛出异常。
0 0
- undefined、null应用场合
- javascript undefined与null实际应用之区别
- RCP的应用场合
- xml的应用场合
- traits的应用场合
- Annotation的应用场合
- java反射应用场合
- ServletContext的应用场合
- 各种排序应用场合
- Undefined,Null类型
- Null与Undefined JS
- null, undefined in JavaScript
- undefined VS. null
- [JavaScript] null and undefined
- null 和 undefined
- javascript null vs undefined
- Javascript undefined vs null
- javascript undefined null
- web前端自动补全autocomplete
- 说明一下这两天碰到的android环境的问题
- Hadoop和大数据:60款顶级开源工具
- 半数单集问题
- The 2015 ACM-ICPC Asia Beijing Regional Contest K A Math Problem
- undefined、null应用场合
- golang中net/http包用法
- 通信调试工具
- nodejs使用radis
- TCP/IP协议学习笔记
- Asteroids (最小覆盖)
- spring mvc aop 拦截 附近上传
- 等比例图片缩放
- Java finally语句到底是在return之前还是之后执行?