2018-07-13 一个通用的判断js数据类型的方法

使用Object.prototype.toString属性

var str1 = 'abc'
var num1 = 123
var bool1 = true
var arr1 = [1, 2, 3]
var obj1 = {name: 'jack', say: function () {  }}
var fun1 = function () {}
var un1 = undefined
var null1 = null
var nan1 = NaN

var log = console.log

log(Object.prototype.toString.call(str1))
log(Object.prototype.toString.call(num1))
log(Object.prototype.toString.call(bool1))
log(Object.prototype.toString.call(arr1))
log(Object.prototype.toString.call(obj1))
log(Object.prototype.toString.call(fun1))
log(Object.prototype.toString.call(un1))
log(Object.prototype.toString.call(null1))
log(Object.prototype.toString.call(nan1))

// print: 
// [object String]
// [object Number]
// [object Boolean]
// [object Array]
// [object Object]
// [object Function]
// [object Undefined]
// [object Null]
// [object Number]

这个方法通用,但是繁琐。通常只需要typeof即可解决问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.通过typeof可以判断处几种基本数据类型Boolean,number,string,null,undefin...
    舟渔行舟阅读 3,800评论 0 1
  • 0. 写在前面 当你开始工作时,你不是在给你自己写代码,而是为后来人写代码。 —— Nichloas C. Zak...
    康斌阅读 10,740评论 1 42
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,422评论 19 139
  • 狐族雪域前修炼圣地,长年积雪萦绕,山上一身着蓝衣女子盘膝而坐,蔚蓝长衫与雪白积雪混为一体。 蓝衣女子面前一把琴玹,...
    妍羽阅读 3,342评论 4 5
  • 接下来我们就进入具体的能量营养素,我们先讲蛋白质的基础知识,我们看蛋白质他在我们人体里都有什么作用?到底是一个怎么...
    龙清风阅读 6,902评论 2 10