当前位置: 首页 > news >正文

JS中判断数据类型总结以及方法封装

判断数据类型封装方法:

1)type返回字符串类型

2)is开头返回Boolean类型

测试实例:

JavaScript 判断数据类型的方式共有四种

  1. typeof
  2. instanceof
  3. constructor
  4. Object.prototype.toString

typeof

typeof 操作符返回一个字符串,表示操作值的类型

利用 typeof 判断数据类型的语法是 typeof target。 示例如下:

instanceof

instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个 实例对象 的原型链上

利用 instanceof 判断数据类型的语法是 target instanceof constructor。 示例如下:

用于判断操作值是否是指定构造函数的实例。

缺点:

  1. 不能判断基本数据类型,因为基本数据类型并不是构造函数的实例,没有原型链。
  2. 因为原型链的终点是 Object.protype => null,所以引用数据类型的原型链上都会存在 Object.protype,所以引用数据类型 instanceof Object 的时候都返回 true
  3. 原型链可以被修改,所以结果值不一定准确。

constructor

利用 constructor 判断数据类型的语法是 target.constructor === constructor。 示例如下:

用于判断操作值是否是指定构造函数的实例,可以判断 null 和 undefined除外的所有数据类型,之所以 null 和 undefined 不可以,是因为他们作为 JavaScript 运行环境创建时就存在的基本数据类型,不存在 constructor 属性

基本数据类型为什么会有 constructor 属性呢? 是因为基本数据类型获取 constructor 属性的时候,JavaScript 自动将基本数据类型的值转为包装对象实例,并在使用后立刻销毁实例。

缺点:constructor 属性可以被修改,所以结果值不一定准确。

Object.prototype.toString

返回对象的类型字符串.

利用 Object.prototype.toString 判断数据类型的语法是 Object.prototype.toString.call(target)。 示例如下:

可以准确判断所有数据类型。

总结

http://www.lryc.cn/news/287406.html

相关文章:

  • 【Midjourney】绘画风格关键词
  • 教你如何低成本自建「幻兽帕鲁」服务器,快速一键部署
  • 拥抱社交电商浪潮:微信小程序商城崛起引领电商新风向-亿发
  • 一个使用pyqt的word文档查重工具
  • SpringCloud Alibaba Sentinel 与 SpringCloud Gateway 的限流有什么差别?(三种限流算法原理分析)
  • 邦芒忠告:职场新人最需要避开的十大雷坑
  • MySQL-进阶-索引
  • GitLab入门指南:上传与下载操作一网打尽
  • GPT应用_PrivateGPT
  • Qt‘s 撤销框架(Qt‘s Undo Framework)
  • 【C++】stack、queue的使用及模拟实现
  • 外包干了2个多月,技术退步明显。。。。。
  • html5实现好看的年会邀请函源码模板
  • 【C++】反向迭代器模拟实现
  • 【低照度图像增强系列(5)】Zero-DCE算法详解与代码实现(CVPR 2020)
  • 三维重建衡量指标记录
  • 在WinForms中控制模态对话框的关闭行为
  • java web mvc-02-struts2
  • 文件上传之大文件分块上传
  • 测试用例评审流程
  • 鸿蒙开发案列一
  • Vue实现图片预览,侧边栏懒加载,不用任何插件,简单好用
  • Spring依赖注入之setter注入与构造器注入以及applicationContext.xml配置文件特殊值处理
  • 碳排放预测 | Matlab实现LSTM多输入单输出未来碳排放预测,预测新数据
  • 手拉手JavaFX UI控件与springboot3+FX桌面开发
  • 02 分解质因子
  • 科技赋能智慧水利——山海鲸软件水利方案解析
  • C4.5决策树的基本建模流程
  • 本科毕业设计过程中应该锻炼的能力 (深度学习方向)
  • 深度学习——pycharm远程连接