码迷,mamicode.com
首页 > Web开发 > 详细

一次搞定js类型判断

时间:2019-08-06 00:40:01      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:targe   target   首字母   误判   string   asc   object   输入   false   

对于一些灵活或者通用的函数,需要根据输入的参数类型,来执行一些逻辑,或简单的报错。因此准确的判断数据类型就尤为重要。

第一种方式,也是最容易想到的方式,typeof。它可以很容易的判断出大部分数据的类型,然而array和null会被误判为object类型。

第二种方式,instanceof,然而它的判断逻辑是基于实例的,跨实例或非实例则会出现问题,而且修改_proto_会影响判断结果。

第三种方式,也是最推荐的一种,Object.prototype.toString.call()

function isType(type, target){
   var str = Object.prototype.toString.call(target); // [object  Xxx]
   return str.indexOf(type)!=-1?true:false;
}
// 注意类型的首字母为大写
isType(‘Array‘, []);  // true
isType(‘Null‘, null);  // true

  

一次搞定js类型判断

标签:targe   target   首字母   误判   string   asc   object   输入   false   

原文地址:https://www.cnblogs.com/diyichen/p/11306246.html

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