IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript中检测数据类型的几种方式 -> 正文阅读

[JavaScript知识库]JavaScript中检测数据类型的几种方式

1.typeof

主要用于判断基本数据类型,使用方式:typeof(表达式) / 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

用于引用数据类型的判断。所有引用数据类型的值都是 Object 的实例,目的是判断一个对象在其原型链上是否存在构造函数的 prototype 属性。

使用方式:变量/表达式 instanceof 指定判断的类型 ,返回 true或者 false

instanceof 不仅能检测构造对象的构造器,还能检测原型链。instanceof 使用时,要求其前面是个对象,后面是个对象,返回布尔值。

3.Array.isArray()

Array.isArray9() 可以用于判断数组类型,支持的浏览器 IE9及以上、firefox4及以上、Safari5及以上,以及Chrome浏览器。当需要在特定版本的浏览器使用时,可以按照以下的兼容性写法使用:

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()

用于判断某个对象值属于那种内置的数据类型,最靠谱的最做法就是使用 Object.prototype.toString.call() 方法。这种方法的输出值就是 【object 对象数据类型】。

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

在这里插入图片描述

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

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:09:15  更:2022-05-05 11:10:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:33:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码