您的位置:首页 > 其它

Typeof - 数据类型检测运算符

2017-08-16 13:00 169 查看
很多人把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?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息