位置: 编程技术 - 正文

JavaScript中判断对象类型的几种方法总结(javascript中的判断语句)

编辑:rootadmin

我们知道,JavaScript中检测对象类型的运算符有:typeof、instanceof,还有对象的constructor属性:

1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串。如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在)。 但 typeof 的能力有限,其对于Date、RegExp类型返回的都是"object"。如:

typeof {}; // "object" typeof []; // "object" typeof new Date(); // "object"

所以它只在区别对象和原始类型的时候才有用。要区一种对象类型和另一种对象类型,必须使用其他的方法。如:instanceof 运算符或对象的 constructor 属。

2)instanceof 运算符。 instanceof 运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字或构造函数。如果 object 是 class 或构造函数的实例,则 instanceof 运算符返回 true。如果 object 不是指定类或函数的实例,或者 object 为 null,则返回 false。如:

[] instanceof Array; // true [] instanceof Object; // true [] instanceof RegExp; // false new Date instanceof Date; // true

所以,可以用instanceof运算符来判断对象是否为数组类型:

function isArray(arr){ return arr instanceof Array; }

3)constructor 属性。 JavaScript中,每个对象都有一个constructor属性,它引用了初始化该对象的构造函数,常用于判断未知对象的类型。如给定一个求知的值 通过typeof运算符来判断它是原始的值还是对象。如果是对象,就可以使用constructor属性来判断其类型。所以判断数组的函数也可以这样写:

function isArray(arr){ return typeof arr == "object" && arr.constructor == Array; }

很多情况下,我们可以使用instanceof运算符或对象的constructor属性来检测对象是否为数组。例如很多JavaScript框架就是使用这两种方法来判断对象是否为数组类型。 但是检测在跨框架(cross-frame)页面中的数组时,会失败。原因就是在不同框架(iframe)中创建的数组不会相互共享其prototype属性。例如:在Ajaxian上看到了一种精确的检测方法,跨原型链调用toString()方法:Object.prototype.toString()。可以解决上面的跨框架问题。 当Object.prototype.toString(o)执行后,会执行以下步骤: 1)获取对象o的class属性。 2)连接字符串:"[object "+结果(1)+"]" 3)返回 结果(2) 例如:

Object.prototype.toString.call([]); // 返回 "[object Array]"Object.prototype.toString.call(/reg/ig); // 返回 "[object RegExp]"

这样,我们就可以写一个健壮的判断对象是否为数组的函数:此种方法得到国外多个javaScript大师的认可,在即将发布的jQuery 1.3中将使用这种方法来检测数组。 prototype.js的一个维护者写了下面这个函数,用于获取对象的类型名

推荐整理分享JavaScript中判断对象类型的几种方法总结(javascript中的判断语句),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript中判断对象类型的几种方法总结(javascript中的判断语句)

文章相关热门搜索词:javascript 判断,javascript中判断数据类型,js判断数值,javascript中判断数据类型的几种方法,javascript中判断数据类型,javascript 判断,javascript中判断数据类型,javascript中判断数据类型的几种方法,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript splice()方法详解 定义和用法splice()方法用于插入、删除或替换数组的元素。语法arrayObject.splice(index,howmany,element1,.....,elementX)参数描述index必需。规定从何处添加/删除元素

js hover 定时器(实例代码) $("#showComptr:not('.stlisttitle')").hover(function(){try{if($("#calendarPanel").is(":visible"))$(".playerlist").hide();else{clearTimeout(timMess);$(".playerlist").css("top",$(this).offset().top-$(".c

HTTP 错误的详细讲解 NotModified客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓

标签: javascript中的判断语句

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

上一篇:javascript中怎么做对象的类型判断(javascript中怎么创建一个数组)

下一篇:JavaScript splice()方法详解

  • 销项税减去进项税
  • 房地产企业环保税什么时候申报
  • 广告费的税前扣除是多少
  • 增值税存量和增量留抵退税
  • 个人独资企业需要交什么税
  • 更正申报多交的个税
  • 保证金抵扣货款分录
  • 公司缴纳个人所得税会计分录
  • 出口退税退的是哪部分税
  • 企业用于在建工程购入的材料
  • 利润的计算方法数学
  • 有了营业执照就可以买社保了吗
  • 简易计税 增值税专用发票
  • 广告发布税收编码
  • 商票背书需要对方开发票吗
  • 所得税补缴自查需要缴纳什么
  • 2021年购买车辆的进项税能抵扣吗
  • 长期待摊会计处理
  • 物业公司减免物业费怎样开票
  • 食用盐的增值税是多少
  • 公司买的油烟机可以抵扣进项税吗
  • 个人投资到企业的资金入什么科目
  • 库存商品淘汰报告模板
  • 跨月发票作废应如何处理
  • windows11下载后怎么安装
  • 全民游戏盒子怎么卸载
  • 微信提现手续费最新规定
  • 商场收取租金要缴纳哪些税
  • 个体户升一般纳税人分红怎么交税
  • 高新技术企业如何节税
  • php readdir函数
  • 工程结算需要哪些施工方案
  • 电脑卡住了按什么键回到桌面
  • 原生php写接口
  • vue3动态路由权限
  • 长期应付款列报为什么是后一年的
  • 会计凭证作用的说法中不正确的是
  • vue 响应式自适应布局
  • 股东分红放到哪个会计科目
  • 车辆上牌费用会涨吗
  • 已开发票作废和空白发票作废有什么不一样?
  • 浏览器打开域名怎么设置
  • mysql5.7.27安装与配置
  • 个税租房租金扣除规则
  • 出差期间发生的招待费计入什么科目
  • 归属于母公司所有者权益合计
  • 小规模季度交税分录怎么做
  • 计提坏帐包含其他收入吗
  • 人员经费指的是
  • 现代服务业进项抵扣新政策
  • 背书是什么含义
  • 营业成本和生产费用一样吗
  • 中级财务会计报告心得体会
  • 公司注册资金认缴期限
  • 收到银行回单如何打印
  • 股东可用什么方式出资
  • 年末净利润为负说明什么
  • 工业企业接受捐赠收入计入
  • mysql冗余字段
  • win10标题栏颜色改不了
  • workflow software
  • windows10x预览版
  • Win10笔记本如何重装系统
  • 苹果发布会最新消息
  • win10 oem key
  • w8系统怎么用
  • centos 做bond
  • win7系统删除文件夹怎么恢复
  • Css属性中表示字体的是
  • opengl es4
  • 怎么用node.js写接口
  • js数组如何定义
  • windows python2和python3共存
  • shell脚本 ftp
  • python在windows
  • 上海市税务官方网站网址
  • 物业管理用房如何缴纳房产税
  • 广东省上交国家财政
  • 2020年青海国税工资待遇
  • 国家税务总局组建千户集团税收风险分析专业团队
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设