ECMA typeof和instanceof操作符返回类型

1). 对一个值使用typeof操作符可能返回下列某个字符串:
1. "undefined"—如果这个值未定义;
2."boolean"—如果这个值是布尔值;
3."string"—如果这个值是字符申;
4." number "—如果这个值是数值;
5."object"—如果这个值是对象或null;(正则也是object类型,其实函数也是object类型,然而区分函数和其它对象是必要的)
6."function"--如果这个值是函数。例:
1.alert(typeof 95); //number    
2.alert(typeof null)//object   
3.var message;//声明后默认取得undefined值
alert(message==undefined);//true 
4.alert(null==undefined);//true
5.var floatnum1=10.0 //会解析成整数10
6.alert(NaN==NaN)  //false  NaN与任何值都不相等包括它本身<span style="font-family: Arial; ">       </span>
数据类型 转换为true的值转换为false的值
Booleantrue false
String  任何非空字符串 “”(空字符串)
Number任何非零数字值〔包括无穷大)0
object  任何对象 null
undefined /undefined
 2).   instanceof : 虽然在检测基本数据类型时typeof是非常得力的助手,但在检测引用类型的值时,这个操作符的用处不大。通常,我们并不是想知道某个值是对象。而是想知道它是什么类型的对象。为此,ECMAScript
提供了instanceof操作符,其语法如下所示:(下面例子全都返回true)
alert(person instanceof Object);//变量person是Object类型吗
alert(colors instanceof Array);//变量colors是Array类型吗
alert(pattern instanceof RegExp); //变量pattern是RegExp类型吗
根据规定,所有引用类型的值都是object的实例。因此在检测一个引用类型值和Object构造函数是不是Oject类型时,instanceof操作符始终会返回true.当然,如果使用instanceof操作符检侧基本类型的话,则该操作符始终会返回false,因为基本类型不是对象。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值