码迷,mamicode.com
首页 > 其他好文 > 详细

Object.prototype.toString.call() 区分对象类型

时间:2016-05-31 22:29:13      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、函数、对象,使用 typeof 都会统一返回 “object” 字符串。

有这样一种方法,即使用 Object.prototype.toString.call() 来确定类型。

由于 JavaScript 中一切都是对象,任何都不例外,对所有值类型应用 Object.prototype.toString.call() 方法结果如下:

console.log(Object.prototype.toString.call(123)) //[object Number]
console.log(Object.prototype.toString.call(‘123‘)) //[object String]
console.log(Object.prototype.toString.call(undefined)) //[object Undefined]
console.log(Object.prototype.toString.call(true)) //[object Boolean]
console.log(Object.prototype.toString.call({})) //[object Object]
console.log(Object.prototype.toString.call([])) //[object Array]
console.log(Object.prototype.toString.call(function(){})) //[object Function]

判断数组和函数的方法:

// 判断arr是否为一个数组,返回一个bool值
function isArray(arr) {
     return ‘[object Array]‘ === Object.prototype.toString.call(arr);
}

// 判断fn是否为一个函数,返回一个bool值
function isFunction(fn) {
     return ‘[object Function]‘===Object.prototype.toString.call(fn);
}

 

Object.prototype.toString.call() 区分对象类型

标签:

原文地址:http://www.cnblogs.com/lkp-blog/p/5547714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!