位置: 编程技术 - 正文

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

  • 月末计提无形资产的折旧
  • 年金终值系数公式例题
  • 增值税 普通税
  • 小微企业所得税税率2.5% 10% 25%
  • 工资3700扣多少社保钱
  • 公司商标注册费用属于什么费用
  • 库存现金贷方为负数说明什么
  • 建筑公司成本发票不够
  • 企业所得税收益计算公式
  • 年末发票
  • 政府补助结转是什么科目
  • 美元转到中国账户可不可以取人民币
  • 附注的主要作用
  • 应交印花税会计分录
  • 沥青混凝土增值税风险
  • 个体工商户税收优惠政策2023年最新
  • 人工费增值税的税率是多少?
  • 工程款发票备注栏项目名称
  • 一般纳税人适用税种及税率
  • 电商平台收取的手续费
  • 小规模纳税人补开发票如何申报增值税
  • 免税和零税率和税率区别
  • 企业收到收入会计分录
  • 非正常损失进项税额转出计算
  • 境外代扣代缴所得税
  • 利润分成的会计分录
  • 进项税额转出能进成本吗
  • 文件改后缀什么意思
  • linux文件夹怎么删除
  • Win10 Build 19043.1147 (21H1)预览通道更新补丁KB5004296(附完整更新日志)
  • 长期借款和短期借款会计分录的区别
  • 国有土地出让收入分析报告
  • 城市里创业
  • 无法访问或访问被拒绝是怎么解决
  • 工业企业制造费用核算范围
  • 所有者权益类的期末余额公式
  • yolov教程
  • php加载mysql
  • php uniqueid
  • php合并数组的方法
  • yolov5源码讲解
  • 云原生istio
  • js防抖函数和节流函数
  • 可以抵扣土地增值税的项目
  • 专项应付款能转回来吗
  • 非企业指的是什么
  • 没有数字的公章有效吗
  • 哪些企业可以开发票
  • sql server如何设置远程连接
  • mysql命令大小写
  • 出库成本会计分录
  • 企业支付临时工劳务报酬需要取得发票吗
  • 汇算清缴后取得上一年发票
  • 销售边角废料属于什么
  • 用友无法填制凭证
  • 企业什么时候才需要交税
  • 一个营业执照可以开几个店铺
  • 账簿设置方法
  • 房地产企业会计分录
  • sql2008开启远程连接
  • sql基础问题
  • 组策略禁止打开文件对话框输入路径
  • 苹果的os什么意思
  • WIN10系统更新之后无法启动
  • 苹果mac系统如何升级最新版本
  • mkcool是什么文件
  • Msssrv.exe - Msssrv是什么进程 有什么用
  • 谷歌浏览器点更新没反应
  • 一键清除照片上多余的人
  • python爬虫入门教程非常详细
  • cocos2dx4.0入门
  • dos命令批处理文件
  • 网页制作css样式
  • node.js中的http.request.end方法使用说明
  • Apache服务器的安全缺陷
  • Android使用的方式来管理
  • 面向对象设计六大原则
  • python中的整数
  • [置顶]电影名字《收件人不详》
  • 自然人扣缴端初始密码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设