基本数据类型:string,number,boolean,null,undefined,symbol

引用数据类型:object(array,function...)

常用的检测数据类型的方法一般有以下三种:

1.typeof 一般主要用来检测基本数据类型,因为它检测引用数据类型返回的都是object

还需要注意的一点是:typeof检测null返回的也是object(这是JS一直以来遗留的bug)

typeof 1
"number"
typeof 'abc'
"string"
typeof true
"boolean"
typeof null
"object"
typeof undefined
"undefined"
typeof {}
"object"
typeof []
"object"

2.instanceof  这个方法主要是用来准确地检测引用数据类型(不能用来检测基本数据类型)

function add(){}
add instanceof Function
//true var obj = {}
obj instanceof Object
//true [] instanceof Array
//true

3.Object.prototype.toString()  可以用来准确地检测所有数据类型

Object.prototype.toString.call([])
//"[object Array]" Object.prototype.toString.call(1)
//"[object Number]" Object.prototype.toString.call(null)
//"[object Null]" Object.prototype.toString.call(undefined)
//"[object Undefined]" Object.prototype.toString.call(true)
//"[object Boolean]" Object.prototype.toString.call('111')
//"[object String]" Object.prototype.toString.call({})
//"[object Object]" Object.prototype.toString.call(function add(){})
//"[object Function]"

最新文章

  1. [转载]MVVM模式原理分析及实践
  2. ISO 基础之 (十三) protocol 协议
  3. KMP算法模板
  4. Nodejs Express 4.X 中文API 4--- Router篇
  5. Git工作流指南:Gitflow工作流 Comparing Workflows
  6. D&F学数据结构系列——插入排序
  7. jmap命令
  8. 除了创建时指定窗口位置之外,还有3种移动窗口位置的办法(移动的同时往往可以改变窗口大小)(SetWindowPos最有用,它有许多标志位)
  9. 《Node.js开发指南》知识整理
  10. JAVA —— 数组
  11. jquery hide和show使用
  12. VMware12提示 已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。
  13. Nginx实现集群服务器的负载均衡
  14. CentOS7.6编译安装nginx
  15. jquery中对父节点和子节点的利用
  16. 从零自学Java-4.使用字符串来交流
  17. Linux - 修改文件编码
  18. [jquery] jQuery 选择器>
  19. js中的特殊符号含义
  20. SSM实现批量删除功能

热门文章

  1. c语言进阶15-数据结构总结
  2. Django的学习进阶(三)————ORM
  3. hdu多校第八场Parentheses Matrix
  4. session对象和cookie对象的区别
  5. Linux 下实践 VxLAN:虚拟机和 Docker 场景
  6. 【iOS】UITableViewDelegate 方法没有调用
  7. 基于zookeeper集群的云平台-配置中心的功能设计
  8. Git应用之eclipse解决冲突代码
  9. LeetCode :1.两数之和 解题报告及算法优化思路
  10. JVM和GC的工作原理