首页 > Web开发 > 详细

js-检测数据类型

时间:2019-12-21 21:28:22      阅读:87      评论:0      收藏:0      [点我收藏+]

1.typeof

  • typeof检测出来的是一个字符串
  • 字符串中包含对应的类型
  • 局限性

    

 *   1. typeof null => "object"  但是null并不是对象
 *   2. 基于typeof无法细分出当前值是普通对象还是数组对象等,因为只要是对象数据类型,返回的结果都是"object"
//数值类型
let number = 1;
console.log(typeof number) //=>‘number‘
//字符串类型
let number1 = 123;
console.log(typeof number1) //=>‘string
//boolean类型
let number3 = true; 
console.log(typeof number3) //=>boolean//null
console.log(typeof null) //=>‘object‘
//NaN
console.log(typeof NaN)//=>‘number‘
//undefined
console.log(typeof undefined)//=>‘undefined‘
//对象
console.log(typeof {})//=>‘object‘
//数组
console.log(typeof [])//=>‘object‘
//正则
console.log(typeof /^/)//=>‘object‘
//函数
console.log(typeof function(){})//=>‘function‘

注意:

  • 因为typeof检测的结果都是字符串,所以只要两个及以上同时检测,最后结果必然是"string"
 console.log(typeof typeof typeof []);
//=> typeof [] => "object"
//=> typeof "object" => "string"

 

2.instantof

用于检测某一值是什么类型的对象

result = variable instanceof Constructor

instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

3.constructor : 基于构造函数检测数据类型(也是基于类的方式)

4.Object.prototype.toString.call() :检测数据类型最好的办法

js-检测数据类型

原文:https://www.cnblogs.com/peilin-liang/p/12066762.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!