html数据类型判断,JavaScript判断变量数据类型的方法

您的位置:

富录-前端开发|web技术博客

>

JavaScript >

JavaScript判断变量数据类型的方法

JavaScript判断变量数据类型的方法

发布时间:2020年06月17日评论数:抢沙发阅读数:

1329

c54cd0aa779a55d63237a0fb09aeae99.png

数据类型var a = 123;

var b = 'abc';

var c = true;

var d = undefined;

var e = null;

var f = {};

var g = [];

var h = function(){};

var i = /^[a-zA-Z]{5,20}$/;

var j = new String('123');

var k = new Object();

var l = new Function();

var m = new Array();

var n = new RegExp();

typeof()

可以判断基本数据类型,但无法判断对象的具体类型。

console.log(typeof a); // number

console.log(typeof b); // string

console.log(typeof c); // boolean

console.log(typeof d); // undefined

console.log(typeof e); // object

console.log(typeof f); // object

console.log(typeof g); // object

console.log(typeof h); // function

console.log(typeof i); // object

console.log(typeof j); // object

console.log(typeof k); // object

console.log(typeof l); // function

console.log(typeof m); // object

console.log(typeof n); // object

Object.prototype.toString.call()

可以判断具体的对象类型,包括正则等,但是无法判断自定义对象类型。

console.log(Object.prototype.toString.call(a)); //[object Number]

console.log(Object.prototype.toString.call(b)); //[object String]

console.log(Object.prototype.toString.call(c)); //[object Boolean]

console.log(Object.prototype.toString.call(d)); //[object Undefined]

console.log(Object.prototype.toString.call(e)); //[object Null]

console.log(Object.prototype.toString.call(f)); //[object Object]

console.log(Object.prototype.toString.call(g)); //[object Array]

console.log(Object.prototype.toString.call(h)); //[object Function]

console.log(Object.prototype.toString.call(i)); //[object RegExp]

console.log(Object.prototype.toString.call(j)); //[object String]

console.log(Object.prototype.toString.call(k)); //[object Object]

console.log(Object.prototype.toString.call(l)); //[object Function]

console.log(Object.prototype.toString.call(m)); //[object Array]

console.log(Object.prototype.toString.call(n)); //[object RegExp]

instanceof

只能判断对象的具体类型(包含自定义对象)

console.log(a instanceof Number) // false

console.log(b instanceof String) // false

console.log(c instanceof Boolean) // false

console.log(f instanceof Object) // true

console.log(g instanceof Array) // true

console.log(h instanceof Function) // true

console.log(i instanceof RegExp) // true

console.log(j instanceof String) // true

console.log(k instanceof Object) // true

console.log(l instanceof Function) // true

console.log(m instanceof Array) // true

console.log(n instanceof RegExp) // true

function Test() {

this.prop = 123;

}

var test = new Test()

console.log(typeof test) // object

console.log(Object.prototype.toString.call(test)) // [object Object]

console.log(test instanceof Test) // true test是Test的一个实例

afc115ebda2110c0488225aa18ec3628.gif

325d0aec6bef7c7188999271aa1fdb2a.gif

2da618c4afc2a994a5020f0258f58a56.gif

10adc7a76dd83e26c5fd8aff6291abdd.gif

01f84eb81bad0d53b3713f197e0cc9db.gif

e9d0c00211bad8d79a1c95e09bc4e913.gif

451029711a898b0fed1f9111fd9f24e9.gif

2b79b2a4291d0c2028ecf6b133eceefb.gif

9724a92fb4ccc21129bcce094f4037b4.gif

4c768fab28783bfa5484603e32e1d9ac.gif

309bcdecbb033231a703ea666c3b50fb.gif

6e07147994562d26b0dd1512e1d4cd5f.gif

96560140cd856061fb6d4bd67e26bb65.gif

189de2a5ff10f643928d8510fb2cf419.gif

7c10e3944afc33b89b413a1604333426.gif

04836609c77ce2c5a7adbf528a8a9c57.gif

d4f09b240083fb18cdd75acc42e6a154.gif

01314f56f4c2547fc9bec1d02ffa48bf.gif

f10384ee60bb1f5b298a576f66f0ee93.gif

60208e83c7a091215b4508f12879c373.gif

4e360c14ccda9577e65b3c55b9c7b33c.gif

9e226592f8ff0a0feabae2f84b8b18ba.gif

9e9c8705bbeaebff47a4048697679976.gif

b2ed5a92514106ca61581d2eceea1a4f.gif

ddc54ec62de66da02c327c4241bc283a.gif

7ece67ef7fae2759d0d8eb20a01f4d4f.gif

612b6c5ff84f8383e06d5da58f5e2838.gif

b60004107b966a1817406a914ef1d124.gif

257ac04c712946ad1c85ec963066ba00.gif

c772ec51d7119ba8f8b3190bbeaf2789.gif

提交评论

名  字:

邮  箱:

网  址:

清空信息

关闭评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值