位置: 编程技术 - 正文

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教程推荐知乎)

  • 缴纳当月的增值税
  • 个人所得税纳税记录
  • 增值税普通发票有什么用
  • 购房发票契税票丢了可以补吗
  • 装修行业小规模纳税人增值税专票
  • 抵扣的发票可以部分红冲吗
  • 一次性计提后的固定资产残值
  • 2020小规模纳税人印花税怎么算
  • 增值税一般纳税人是什么意思
  • 完全成本法例子
  • 一般纳税人公司是什么型企业
  • 火车票补票报销流程
  • 公关费用明细表
  • 公司注销时发现很多年前多发了员工的工资
  • 收到第三方利息会计分录
  • 法院受理费用
  • 支付的各项税费包括个人所得税吗
  • 小规模企业残疾人免税政策
  • 房产增值税征收期限
  • 半成品牛排有营养吗
  • 纳税人证明是完税证明吗
  • 员工购买公司股权
  • 疫情期间企业应该承担哪些责任
  • 运输公司造成的损耗
  • 客户的佣金怎么处理
  • 如何禁用bios里的secure boot
  • 债劵利息怎么计算
  • 应收账款需要计提坏账准备吗
  • php实战
  • 委托代销商品发票是谁开给客户
  • 科技财政支出的意义
  • mksysb命令
  • php代码报错
  • 小规模纳税人报税期是哪几个月
  • vue treegrid
  • 激光slam入门教程
  • thinkphp apidoc
  • 招待费超出部分的分录
  • 做工程没钱了可以贷款吗
  • 平行结转的约当约当怎么计算
  • 在阿里云的云主机之间怎么通信
  • 冲红的发票怎么做账会计分录
  • 不得从销项中抵扣的进项有哪些
  • 发票收到款项未付做什么凭证编制
  • 政府补助的相关法律法规
  • 政府补助的企业所得税如何处理
  • mysql查询某个字段重复数据
  • 个体户没有税务登记怎么开发票
  • 给离退休人员发放以前年度在岗奖金需要计提工会经费吗
  • 拍卖行业收取手续费多少
  • 债务转化为资本是啥意思?
  • 接受捐赠的增值税怎么处理
  • 附加税减免政策2023
  • 查出以前年度的虚开发票,如何补税
  • 制造费用就是制造成本吗
  • 进口关税增值税可以抵扣吗
  • 关闭terminal monitor
  • sql server 复制表中行数据
  • sqlserver连接失败怎么办
  • ssh命令行登录服务器
  • nvm是啥
  • linux用户管理器在哪
  • ubuntu系统怎么设置不锁屏
  • win8怎么彻底删除安装的软件
  • window10分屏显示
  • gnu grub卸载
  • 视锥是什么意思
  • c# opengl 3d
  • node.js视频教程
  • node web 框架
  • [置顶]电影名字《收件人不详》
  • js effect
  • 设计模式含义
  • android刷新activity
  • js命名函数
  • 宁波增值税普通发票有几联发票
  • 成都成华区税务局
  • 工业生产和农业生产区别
  • 镇江涨潮退潮时间表
  • 苏州税务局办税时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设