JavaScript中的undefined,null,NaN(Not A Number)和typeof区别

[size=medium]JavaScript中的类型分为:undefined,null,number,string,boolean,function和其他Object引用类型。
undefined,null,NaN(Not A Number)和typeof
undefined:表示一个对象没有被定义、或没有被初始化、或一个并不存在的对象属性。
null:表示无值。

typeof运算符返回的是一个字符串。[/size]
下面是typeof运算符对各个类型的返回结果:
1.undefined:undefined
2.null:object
3.string:string
4.number:number
5.boolean:boolean
6.function:function
7.object:object


<script type="text/javascript">
<!--
alert(typeof(NaN));//输出number
var a=undefined;//等价于var a;
alert(typeof (a));//输出undefined
alert(null == undefined);//输出true
alert(null==null);//输出true
alert(NaN == NaN);//输出false
alert(typeof (m));//输出undefined,一个未定义的对象
alert(typeof(document.xx));//输出undefined,一个不存在的对象属性
//-->
</script>

[size=medium]说明:
1.NaN是一种特殊的number,NaN与任何值都不相等,与自己也不相等。
2.undefined类型是从null派生出来的,所以它们是相等的。

怎么判断某个值是否未定义?
答:使用===或typeof
如:[/size]
<script>
<!--
var t1 = null;
var t2;//或var t2 = undefined;
if(t1 === undefined){
alert('t1 undefined!');
}
if(t2 === undefined){
alert('t2 undefined!');
}
if(typeof(t2) == 'undefined'){
alert('t2 undefined use typeof!');
}
//同时判断是否为undefined和null的方法,如下:
if(!t1){
alert('t1 is not set value!');
}
if(!t2){
alert('t2 is not set value!');
}
//-->
</script>


[size=medium]一个没有返回值的function,如下的f1(或者直接return返回,如下f2)实际上返回的是undefined。[/size]
<script>
<!--
function f1(){
document.write('test function <br/>');
}
function f2(){
document.write('test function2 <br/>');
return;
}
alert(f1());//等价于:alert(typeof f1());输出undefined
alert(f2());//等价于:alert(typeof f2());输出undefined
//-->
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值