位置: 编程技术 - 正文

基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言)

编辑:rootadmin

推荐整理分享基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript基础,基于javascript的毕业设计,javascript基础,javascript运用,javascript运用,javascript基于什么的语言,javascript基于什么的语言,javascript基于什么的语言,内容如对您有帮助,希望把文章链接给更多的朋友!

typeof

ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。我们都知道可以使用typeof运算符求得一个变量的类型,但是对引用类型变量却只会返回object,也就是说typeof只能正确识别基本类型值变量。

您也许会问,为什么 typeof 运算符对于 null 值会返回 "object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

最后一个比较奇怪,typeof一个不存在的变量x居然返回了"object"而不是"undefined"。

我们在来如下代码:

对于数组和对象都返回"object",因此我们日常开发中一个常见需求就是如何判断变量是数组还是对象。

类型判断

类型判断,一般就是判断是否是数组,是否是空对象。这是针对这个需求,我日常用过或见过的判断方法

判断是否是数组

有数组:var a = [1,2,3,4,5];

方法一:

基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言)

toString.call(a); // "[object Array]"方法二:

a instanceof Array; //true方法三:

a.constructor == Array; //true 第一种方法比较通用,也就是Object.prototype.toString.call(a)的简写。

instanceof和constructor判断的变量,必须在当前页面声明的,比如,一个页面(父页面)有一个框架,框架中引用了一个页面(子页面),在子页面中声明了一个a,并将其赋值给父页面的一个变量,这时判断该变量,Array == object.constructor会返回false;

判断是否是空对象

有变量:var obj = {};

方法一:

JSON.stringify(obj); // "{}"通过转换成JSON对象来判断是否是空大括号

方法二:

if(obj.id){ //如果属性id存在....}这个方法比较土,大多数人都能想到,前提是得知道对象中有某个属性。

方法三:

这个方法是jQuery的isEmptyObject()方法的实现方式。

以上这篇基于javascript中的typeof和类型判断(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

javascript浏览器用户代理检测脚本实现方法 以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows操作系统、移动设备和游戏系统。varclient=function(){//呈现引擎varengine={ie:0,gecko:0

JavaScript模拟实现封装的三种方式及写法区别 前言继承是使用一个子类继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承!JS中有很多实现继承的方法,今天我给

Popup弹出框添加数据实现方法 本文实例为大家分享了Popup弹出框添加数据的具体代码,供大家参考,具体内容如下逻辑窗口P1中显示一组数据,并提供一个添加按钮点击按钮,弹出新

标签: javascript基于什么的语言

本文链接地址:https://www.jiuchutong.com/biancheng/368448.html 转载请保留说明!

上一篇:Tutorial 3: First Triangle

下一篇:javascript浏览器用户代理检测脚本实现方法(JavaScript浏览器打开)

  • 支付给境外个人的租金
  • 含13%的增值税怎么算
  • 个体工商户生产经营所得税税率表2021
  • 个税上个月没报下个月累计会怎么样
  • 哪些科目月底需要结转
  • 以前年度应收账款无法收回的账务处理
  • 工商年报最迟什么时候申报
  • 税控盘服务费减免税会计分录
  • 行政单位支出科目中组织事务是什么
  • 商品房的销售方式有哪些
  • 一般存款账户可以办理现金缴存
  • 通过无偿取得的成果
  • 企业如何处理
  • 注册资金印花税是资金账簿吗
  • 土地增值税暂行条例实施细则2022
  • 代数分配法适用于什么
  • 试营业期间的费用算不算开办费?
  • 公司购买床垫怎样入账
  • 无形资产和长期待摊费用思维导图
  • 贷款损失准备如何提取
  • 结转成本是否要等货物卖出后
  • linux 操作系统查看
  • windows10如何关闭左下角的搜索
  • macos usb启动
  • 关于临时工工资标准的规定
  • 年终奖个税如何计算
  • 资产处置收益与固定资产清理
  • 基于php开发
  • 企业所得税汇算清缴
  • 企业办理银行结汇流程
  • php 设计模式 鸟哥
  • 若依框架前后端一体化设计管理系统
  • php的超级全局变量
  • 普通发票丢了如何入账
  • 工业企业销售收入和产值,税金比例
  • 增值税常见账务处理方法
  • 什么是重大会计事务所
  • 正则表达式大全(整理版)
  • 水利建设基金按季度缴纳
  • 图片格式转换pdf
  • 深度学习大模型框架的简单介绍(ChatGPT背后原理的基本介绍)
  • vue3 $bus
  • 前端经典面试题及答案
  • 人工智能业务架构图
  • 销售商品收到的价款
  • day02-HTML02
  • 业务经费包括哪些内容
  • 房企预缴税款会退税吗
  • 员工办理健康证需要什么材料
  • 货物赔偿款如何计算
  • ps魔棒工具选择图像时在容差数值较大的是
  • mysql嵌套语句
  • 给中间人回扣犯罪吗
  • 残疾人保障金是什么费用
  • 收到发票未收到货物
  • 固定资产不折旧直接进费用
  • 银行转存款怎么办
  • 购买专利后有占有权吗
  • 管理费用包括哪些
  • 房地产行业的特殊性表现在哪些方面
  • 交易性金融资产属于流动资产
  • 审核记账凭证的心得
  • supervisor.sock refused connection
  • 为什么windows手机失败了
  • windows2003设置自动重启
  • 如何知道文件的解压密码
  • xp双系统怎么设置默认系统
  • linux系统文件压缩命令
  • 电脑系统重装win8
  • macbook的dock栏怎么不见了
  • neoDVDstd.exe - neoDVDstd是什么进程 有什么用
  • linux系统概述
  • win8系统怎么设置桌面图标
  • 批处理命令修改ip
  • python中的文件读写
  • unity3d 帧同步
  • shell脚本编程实验报告
  • jquery的css方法
  • python怎么用
  • 长沙个体户缴纳个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设