JS判断数据类型

JS判断数据类型

typeof()函数
var b = 1;
typeof(b) ##'Number'

var a = [1,2,3]
typeof(a)  ##'Object'

var null_1 = null;
typeof(null_1)  ##'Object'

var fun = function(){};
typeof(fun)  ##'function'
  • typeof()函数可以测试出Number、string、undefined、Boolean、function
  • 对于null类型、Array类型、Object类型,均只能测试出是’Object‘而不能测试出具体数据类型。
instanceof()函数
var b = 1;
b instanceof Number; ##false

var b_1 = new Number();
b_1 instanceof Number;  ##true

var null_1 = null;
null_1 instanceof Object;  ##false

var unde = undefined;
unde instanceof Object;  ##false

function Person(){};
var person = new Person();
person instanceof Person;  ##true
  • instanceof()函数不能测试出null类型和undefined类型。
  • 对于基本数据类型,instanceof()函数只能测试出用new声明的。
constructor属性
var b = true;
b.constrructor === Boolean  ##true,当需要比较数据类型是否相同时使用===
  • constructor不能判断undefined和null。
Object.prototype.toString.call
 var b = true;
 Object.prtotype.toString.call(b)  ##'[object Boolean]'

function Person(){};
var person = new Person();
Object.prototype.toString.call(person);  ##'[object object]'
  • Object.prototype.toString.call不能返回非原生构造函数的函数名,对于这种情况,只能返回’[object object]’。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值