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

发布时间 - 2026-01-10 23:26:01    点击率:

在用javaScript编程的过程中,我们经常会遇到这样一个问题,就是需要检测一个数据或变量的类型,那么在javaScript中给我们提供了哪些方法呢?网上流传的代码比比皆是,但是发现其中有些是有误的,索性我自己动手把每种方法用了一遍,今天我专门整理了下,以便以后查阅。

一、typeof  检测

typeof 是一个一元运算符,语法:typeof(运算数),运算数可以是任意类型。它的返回值是一个字符串,该字符串说明运算数的类型。

// var arr = { name:"john"}; // object
  // var arr = ["语文","数学"]; // object
  // function Person() {};  // typeof(Person) => function
  // var arr = '我是字符串' ; // string
  // var arr = 66 ;    // number
  // var arr = true ;   // boolean
  // var arr = new Person(); // object
  // var arr = undefined;  // undefined
  // var arr = null;   // object
  // var arr = /^\d{5,20}$/; // object
  // console.log( typeof(arr) );

二、instanceof  检测

instanceof 检测某个对象是不是另一个对象的实例,可以在继承关系中用来判断一个实例是否属于它的父类型。

// var arr = '我是字符串' ;     // console.log( arr instanceof String ) => false
    // var arr = 66 ;         // console.log( arr instanceof Number ) =>false
    // var arr = true ;        // console.log( arr instanceof Boolean ) =>false
    // var arr = ["语文","数学"];   // console.log( arr instanceof Array ) =>true
    // var arr = { name:"john"};    // console.log( arr instanceof Object ) =>true
    // var arr = function Person(){}; //console.log(arr instanceof Function)=>true
    // var arr = undefined;      // console.log(arr instanceof Object)=>false
    // var arr = null;        // console.log(arr instanceof Object)=>false
    // var arr = /^\d{5,20}$/;    // console.log(arr instanceof RegExp)=>true

三、Object.prototype.toString.call  检测 

使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下:Object.prototype.toString.call(value)

// var arr = '我是字符串' ;   //[object String]
    // var arr = 66 ;        //[object Number]
    // var arr = true ;       //[object Boolean]
    // var arr = ["语文","数学"];  //[object Array]
    // var arr = { name:"john"};  //[object Object]
    // var arr = function Person(){}; //[object Function]
    // var arr = undefined;      //[object Undefined]
    // var arr = null;         //[object Null]
    // var arr = /^\d{5,20}$/;     //[object RegExp]
    // console.log( Object.prototype.toString.call(arr) );

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# javascript  # 类型检测  # js检测数据类型  # 检测数据类型  # JS中检测数据类型的几种方式及优缺点小结  # 浅谈javascript的数据类型检测  # 关于JS数据类型检测的多种方式总结  # js数据类型检测总结  # JavaScript中检测数据类型的四种方法  # javascript基本数据类型及类型检测常用方法小结  # JavaScript数据类型检测代码分享  # js学习总结_基于数据类型检测的四种方式(必看)  # JS数组索引检测中的数据类型问题详解  # js中各种数据类型检测和判定的实战示例  # 我是  # 是一个  # 给我们  # 一遍  # 用了  # 种方法  # 比比皆是  # 一个问题  # 经常会  # 自己动手  # 大家多多  # 过程中  # 方法如下  # 返回值  # 运算符  # 把每  # 网上  # pre  # var  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 实例解析angularjs的filter过滤器  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  高端建站如何打造兼具美学与转化的品牌官网?  如何用狗爹虚拟主机快速搭建网站?  Laravel Docker环境搭建教程_Laravel Sail使用指南  Laravel如何与Inertia.js和Vue/React构建现代单页应用  如何用已有域名快速搭建网站?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何快速完成中国万网建站详细流程?  微信公众帐号开发教程之图文消息全攻略  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  bootstrap日历插件datetimepicker使用方法  Java垃圾回收器的方法和原理总结  如何在阿里云部署织梦网站?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  jQuery中的100个技巧汇总  如何为不同团队 ID 动态生成多个“认领值班”按钮  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何在橙子建站上传落地页?操作指南详解  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  微信小程序 scroll-view组件实现列表页实例代码  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何在IIS服务器上快速部署高效网站?  javascript日期怎么处理_如何格式化输出  使用Dockerfile构建java web环境  怎样使用JSON进行数据交换_它有什么限制  香港服务器部署网站为何提示未备案?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel如何实现事件和监听器?(Event & Listener实战)  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel如何为API生成Swagger或OpenAPI文档  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  android nfc常用标签读取总结  如何制作一个表白网站视频,关于勇敢表白的小标题?