位置: 编程技术 - 正文

JavaScript 判断判断某个对象是Object还是一个Array(js的判断类型)

编辑:rootadmin
1.typeof 操作符.对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 你会收到一个object 的答案,有点让人失望 . 2.instanceof 操作符,JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。 使用方法:result = object instanceof class,还是刚刚的数组,再来一次,嗯,成功的返回 true. 小总结:看样子我们今天讨论的问题已经得到了解答,但事实上在多个frame中穿梭就会产生大问题了. 代码 返回结果为两个False,让人大失所望。 ECMA- 写道 Object.prototype.toString( ) When the toString method is called, the following steps are taken: 1. Get the [[Class]] property of this object. 2. Compute a string value by concatenating the three strings “[object “, Result (1), and “]”. 3. Return Result (2) 上面的规范定义了Object.prototype.toString的行为:首先,取得对象的一个内部属性[[Class]],然后依据这个属性,返回一个类似于"[object Array]"的字符串作为结果(看过ECMA标准的应该都知道,[[]]用来表示语言内部用到的、外部不可直接访问的属性,称为“内部属性”)。利用这个方法,再配合call,我们可以取得任何对象的内部属性[[Class]],然后把类型检测转化为字符串比较,以达到我们的目的。还是先来看看在ECMA标准中Array的描述吧: ECMA- 写道 new Array([ item0[, item1 [,…]]]) The [[Class]] property of the newly constructed object is set to “Array”. 于是利用这点,第三种方法登场了。 function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; } call改变toString的this引用为待检测的对象,返回此对象的字符串表示,然后对比此字符串是否是'[object Array]',以判断其是否是Array的实例。也许你要问了,为什么不直接o.toString()?嗯,虽然Array继承自Object,也会有toString方法,但是这个方法有可能会被改写而达不到我们的要求,而Object.prototype则是老虎的屁股,很少有人敢去碰它的,所以能一定程度保证其“纯洁性”:) 与前面几个方案不同,这个方法很好的解决了跨frame对象构建的问题,经过测试,各大浏览器兼容性也很好,可以放心使用。一个好消息是,很多框架,比如jQuery、Base2等等,都计划借鉴此方法以实现某些特殊的,比如数组、正则表达式等对象的类型判定,不用我们自己写了。 另外Ext3 也已经换成这样的写法了

推荐整理分享JavaScript 判断判断某个对象是Object还是一个Array(js的判断类型),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript 判断判断某个对象是Object还是一个Array(js的判断类型)

文章相关热门搜索词:js的判断类型,js判断ua,javascript的判断语句,js判断ua,js判断函数,js判断怎么写,javascript的判断语句,javascript的判断语句,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript 学习笔记(十五) 事件事件是DOM(文档对象模型)的一部分。事件流就是事件发生顺序,这是IE和其他浏览器在事件支持上的主要差别。一、事件流1、冒泡型事件IE上的

javascript中的array数组使用技巧 vararray=newArray(["no1","no2"]);array["po"]="props1";alert(array[0][0]);alert(array.length);//2//对于数组来说,array[0]同array["0"]效果是一样的(?不确定,测试时如此)alert(array[0]+"

详细讲解JS节点知识 注意大小写一定不能弄错.属性:Attributes存储节点的属性列表(只读)childNodes存储节点的子节点列表(只读)dataType返回此节点的数据类型Definition以DTD或XML模式

标签: js的判断类型

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

上一篇:JavaScript 学习笔记(十四) 正则表达式(javascript要怎么学)

下一篇:JavaScript 学习笔记(十五)(javascript学习指南)

  • 小规模免增值税是普票还是专票
  • 创业投资企业可以按照其对中小高新技术企业投资额的
  • 增值税专用发票抵扣期限
  • 企业税负怎么算
  • 转租价格由谁决定
  • 待摊费用属于企业的费用
  • 转让不动产取得的收入
  • 会计软件每年都要付钱的吗
  • 利润分配未分配利润借贷方表示什么
  • 一般增值税纳税人和小规模纳税人
  • 交汇算清缴所得吗
  • 股权内部转让交增值税吗
  • 销售货物的价外费用有哪些
  • 零余额帐户如何转账
  • 所有的进项税都在借方吗
  • 残疾人收到房租租赁发票收入还要缴纳个税吗
  • 企业怎么办税
  • 多缴税款退回及退回
  • 承兑汇票重复背书
  • 存货计价方法的选择对利润表中的项目没有影响
  • 小规模纳税人如何开专票
  • 库存现金的收支账务处理
  • w10关闭
  • 应收账款平均余额怎么理解
  • 中介公司收取中介费过高违法吗
  • 三星电脑安装系统按哪个键
  • 公司筹备期的费用
  • win10 21h1正式版怎么样
  • 怎么用onekey重装系统
  • nwtray.exe - nwtray是什么进程 作用是什么
  • php连接mysql数据库的几种方式及区别
  • 收据中代收款凭证
  • 时序21-21-21-47
  • 如何构建自己的精神空间
  • pytorch技巧
  • uniapp支付宝支付开发
  • 工业总产值和营业收入关系
  • 利息收入怎么做账务处理
  • 成本会计制造费用核算的内容
  • 个体户开出的增值税发票丢失了怎么办?
  • 建筑垃圾处置费 南通
  • 工资计提啥意思
  • 小额贷款公司如何做账
  • mysql和sqlserver的sql语句一样吗
  • 期末结转会计分录总结
  • 对增值税发票开具方面是有何要求?
  • 应付账款入账金额可以包括哪些内容?
  • 营改增后出售土地如何缴纳增值税
  • 社会团体费怎么做分录
  • 企业净资产如何算
  • 什么是挂靠?
  • 原始凭证错误的更正方法
  • 请创建一个die类
  • mysql导出查询结果sql
  • mysql隐式类型转换规则
  • mysql怎么设置自增主键
  • mysql重置初始密码
  • win7 bug
  • freebsd忘记root密码
  • 华硕主板如何刷系统
  • 如何在windows里保存画过的画
  • slserv.exe - slserv进程是什么意思
  • win7电脑连不上wifi怎么解决
  • Ubuntu 12.04安装Xen常见问题及解决方法汇总
  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询
  • win8如何使用word
  • linux sendmail发送邮件
  • js经典案例代码大全
  • easyui combobox设置值
  • unity怎么用
  • android native opengl
  • opengl transform
  • javascript数组的常用方法
  • android10获取设备id
  • 删除的照片怎么还原
  • 福建省国税局
  • 北京市地方税务局发票查验
  • 河南省国家税务局电子税务局
  • 陕西省国家税务局总局官网
  • 党建与内控合规风险防范相融合
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设