Typeof - 数据类型检测运算符

很多人把typeof 称为运算符,但我更喜欢称为“数据类型检测 - 运算符”。它的作用是用来检测一个数据的类型,返回这个类型对应的字符串。

它的语法: typeof 数据  / typeof(数据)   2种效果是一样的。


typeof有一个返回值,返回的结果与系统当中定义的类型是有区别的。

系统定义的数据类型      typeof返回的数据类型

String             string

Number            number

Boolean           boolean

Undefined             undefined

Null               object

Object             object

来点例子

var s1='song';
console.log(typeof s1); // string
            
var s2 = 21;
console.log(typeof s2); // number
            
var s3 = false;
console.log(typeof s3); //boolean
            
var s4 = undefined;
console.log(typeof s4); //undefined
            
var s5 = null;
console.log(typeof s5); //object
            
var s6 = {};
console.log(typeof s6);  //object
            
var s7 = function(){alert(1)};
console.log(s7); //function

null的typeof的结果是object,函数的typeof结果为function,但是JS当中没有给函数定义一个类型 。

总结: 区别就是 1)一个是首字母大小,一个是全小写    2)Null返回的值是object而非null


Null 为什么也会返回一个object呢?

有些资料解释说这是JS留下的一个BUG,是一个历史遗留问题。


Pritce:

1、typeof的语法应该如何用?

2、typeof检测出的返回值和系统当中定义的类型有哪一些区别?

3、Null 为什么也返回Object?





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值