一次搞定js类型判断
Posted diyichen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次搞定js类型判断相关的知识,希望对你有一定的参考价值。
对于一些灵活或者通用的函数,需要根据输入的参数类型,来执行一些逻辑,或简单的报错。因此准确的判断数据类型就尤为重要。
第一种方式,也是最容易想到的方式,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类型判断的主要内容,如果未能解决你的问题,请参考以下文章