位置: 编程技术 - 正文

Javascript学习笔记之 对象篇(四) : for in 循环(javascript学习指南)

编辑:rootadmin

推荐整理分享Javascript学习笔记之 对象篇(四) : for in 循环(javascript学习指南),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript教程推荐知乎,javascript入门教程,javascript入门教程,javascript学习指南,javascript怎么学,javascript基础笔记,javascript基础笔记,javascript教程推荐知乎,内容如对您有帮助,希望把文章链接给更多的朋友!

先上范例:

这里我们要注意两点,一是 for in 循环会忽略 enumerable 设置为 false 的属性。例如一个数组的 length 属性。第二是,由于 for in 会遍历整个原型链,所以当原型链过长时,会对性能造成影响。

enumerable 是个很陌生的词汇,实际上,你很难在 javascript 中发现它的影子,而它实际上也是作者从 ruby 中借鉴而来的。创建 enumerable 的目的不是为了独立使用,而是采用“混用”的方式,而 Prototype 中很多方法都混用了 enumerable,所以它可以说是 prototype 的奠基石。这里不做详细介绍,详细内容可以参考 - Enumerable。由于我们没法改变 for in 循环本身的行为,所以我们只能采取其他方法来过滤掉那些不希望出现在循环内的属性,通过 《Javascript学习笔记之对象篇(三) : hasOwnProperty》 我们知道 hasOwnProperty 方法是可以做到这一点的。

Javascript学习笔记之 对象篇(四) : for in 循环(javascript学习指南)

使用 hasOwnProperty 过滤

仍然使用上个例子:

这是唯一正确的写法,由于我们实用了 hasOwnProperty 方法,所以这次只输出 moo。如果不适用 hasOwnProperty 方法,那么当 Object.prototype 扩展时,就会出现错误。现在很多框架都会选择从 Object.prototype 扩展方法,所以我们使用这些框架时,如果使用没有用 hasOwnProperty 过滤的 for in 循环时就会遇到问题。

总结

建议养成 hasOwnProperty 过滤属性的好习惯,不要对运行环境做任何假设,也无论原生的原型对象是否被扩展。

Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式 函数声明functionfoo(){}函数foo将会在整个程序执行前被hoist(提升),因此它在定义foo函数的整个scope(作用域)中都是可用的。即使在函数定义之前调用它也

Javascript学习笔记之 函数篇(二) : this 的工作机制 全局作用域下this;当在全局作用域中使用this,它指向全局对象。这里详细介绍下全局对象:全局对象(Globalobject)是在进入任何执行上下文之前就已经创建

Javascript字符串对象的常用方法简明版 vara="abcDEfGgdefgasdf";document.write("原始:"+a+"br/")document.write("粗体:"+a.bold()+"br/");document.write("大号:"+a.big()+"br/");document.write("斜体:"+a.italics()+"br/");document.write

标签: javascript学习指南

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

上一篇:Javascript学习笔记之 对象篇(三) : hasOwnProperty(javascript要怎么学)

下一篇:Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式(javascript教程推荐知乎)

  • 固定资产入账怎么做账
  • 个人劳务票必须本人开吗
  • 怎么识别发票是否含税
  • 为什么纳税申报
  • 土地转让合同也叫什么
  • 收到借款确认书模板
  • 购买固定资产进项税率
  • 不能抵扣的进项税怎么做账
  • 个税税务稽查
  • 税控发票系统
  • 商品流通企业会计心得体会3000字
  • 资产减值损失属于什么科目借方增加还是减少
  • 活动策划费属于哪一类
  • 收到劳务外包发票计入什么科目
  • 合作方寄来的礼物能不能收?
  • 住房公积金是否全国联网
  • 经营费用包括哪些内容
  • bios术语
  • 非货币性资产是无形资产吗
  • php是面向过程还是面向对象
  • 十天学会php教程
  • win11发布时间正式确定
  • 你知道约定的公司有哪些
  • php常用的设计模式在开发中的实例
  • 核定征收的小规模纳税人要做账吗
  • protect.exe进程
  • ges.dll
  • 企业研发费用的优惠政策
  • 企业注销未抵扣完的进项税额怎么处理做账
  • 酒店购买天然气流程
  • vue引入网络js
  • anaconda下的python
  • javaweb实例教程
  • 合理损耗如何计算成本
  • discuz论坛无法登录
  • 待处理财产损溢在资产负债表中填哪里
  • 进项税额已抵扣转出会计分录
  • 税率变了
  • Dedecms评论同时发到QQ邮箱的实现方法
  • 母公司对子公司的控股比例
  • 企业所得税应按季预缴,年末汇算清缴
  • sqlserver时间戳数据更新时也修改默认时间
  • Linux编译mssql扩展使用php连接sqlserver2008的使用步骤
  • 分组计数什么意思
  • 个人所得税是全国联网的吗
  • 房地产中介公司排名
  • 快递公司的会计都需要做什么
  • 装修费应该按几折算
  • 购买商品属于什么费用
  • 残保金超比例奖励政策
  • 土地使用税为什么要交
  • 加计抵减10%政策适用范围
  • 未实现融资收益借贷方向
  • 原材料可以不设明细吗?
  • 总账建账要建全部科目吗
  • MySQL 5.6 中 TIMESTAMP有那些变化
  • macbookpro如何扫描
  • won10安装
  • ubuntu系统服务器
  • win7系统打不开网络和共享中心
  • awk统计nginx日志
  • linux中的挂载命令
  • win10系统永久激活软件
  • win7电脑磁盘突然不见了怎么办
  • unity3d界面布局
  • cocos2dx游戏开发进阶卷这本书怎么样
  • cocos2dx 3.17
  • nodejs npm install全局安装和本地安装的区别
  • arp如何绑定
  • 用vue写登录页面
  • easyui框架的优缺点
  • unity怎么调用方法
  • javascript教程
  • flappy bird攻略
  • jq获取复选框选中的值
  • 嵌入式安卓开发入门
  • 怎么向税务局举报不开票行为
  • 江苏社保退工办理流程
  • 包角计算公式推导
  • 个人所得税app密码给别人有风险吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设