0
点赞
收藏
分享

微信扫一扫

JavaScript中检测数据类型的几种方式

曾宝月 2022-05-04 阅读 59

javaScript中检测数据类型的几种方式

1.typeof

对应类型
undefined未定义的变量或值
boolean布尔类型的变量或值
string字符串类型的变量或值
number数值类型的变量或者值
object对象类型的变量或者值,或 null(js设立历史遗留问题)
function函数类型的变量或者值

typeof 的缺陷

  1. 不能区分对象、数组、正则,这几种的返回值都是“object”;
  2. 存在一些浏览器版本限制,Safari5、Chrom7 之前的版本,正则返回值都是“function”;
  3. 在 IE6、7和8中,会将大多数的数组对象识别为是对象(object),而不是函数;而在非 IE浏览器,或者 IE9及以上(包括 IE9)浏览器中,又会识别为函数;
  4. 无法有效识别 null,会直接返回 object。

2.instanceof

3.Array.isArray()

if(!Array.isArray){
        Array.isArray = function (arg){
            return Object.prototype.toString.call(arg) === '[object Array]';
        }
    }

**注意:**isArray 是一个静态方法,使用 Array 对象(类)调用,而不是数组对象实例。实际上,Array.prototype 也是一个数组。

在正式使用里,Array.isArray 优于 instanceof。

4.Object.prototype.toString.call()

console.log(Object.prototype.toString.call("a12"));

在这里插入图片描述

这里是万物之恋,我们下次再见了!

举报

相关推荐

0 条评论