位置: 编程技术 - 正文

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

  • 实收资本印花税是营业账簿吗
  • 3901100090的暂定税率
  • 保险公司代征的税收
  • 小规模超过30万附加税减半吗
  • 勘探费收费标准
  • 支付的工会经费现金流量项目是什么?
  • 税控盘锁死提示什么
  • 收到对方红字发票如何做账
  • 工资可以直接进管理费用吗
  • 私企招残疾人可以辞职吗
  • 增值税计入当期损益吗?
  • 增值税小规模纳税人起征点
  • 小企业取得存货计量的原则
  • 纸质发票如何查看电子发票
  • 大额虚开发票做转出税款入什么会计科目?
  • 城建税及教育附加税怎么算
  • 递延所得税负债是什么意思
  • 微信转账手续费怎么算
  • 汇算清缴补交所得税的账务处理
  • 认缴制需要多久交完
  • 经济补偿金如何计税
  • 2019年小规模纳税人免征增值税政策
  • 开票汇率和收汇汇率
  • 净资产是所有者权益一样吗
  • 资产评估合同属于什么合同
  • 什么叫电鳗鱼
  • 财政拨款收入的明细科目
  • 去年的发票今年怎么做会计分录
  • 企业开票附加税
  • 苹果电脑记笔记
  • chrom无法访问
  • PHP:mb_regex_encoding()的用法_mbstring函数
  • 借支单还款后借支单要还么
  • 临时用工账务处理流程
  • 收到预付货款下月交货会计分录
  • php获取年月日
  • 宣传活动费用什么发票开?
  • yolov5s
  • 应付款项怎么填列
  • 生产油漆涂料的物质
  • 开业前需要支出什么费用
  • 资产报废的原因及情况说明
  • 远期汇票分为哪几种
  • 工会经费计提按应付职工薪酬借方还是贷方?
  • 记账凭证银行利息怎么写
  • 教育培训行业税目分类
  • 向农业生产者收购的原木 进项
  • 加计抵减不符合怎么办
  • 营改增会计分录怎么做
  • 电子银行承兑到期没有兑现怎么办
  • 增值税普通发票有什么用
  • 来料加工账务处理案例
  • 发放外单位人员劳务费需要在发放表上签字吗
  • 员工还款还公司会计分录
  • 承兑汇票可以买卖吗?
  • 企业对财会人员的要求
  • 会计凭证移交凭证需要哪些程序
  • mysql 5.7.11 winx64快速安装配置教程
  • mysql jdbc
  • windows提示无法完成更新
  • win8系统手机
  • 怎么建立dhcp服务器
  • win7把声音设备禁用了怎么要回来
  • 苹果macmimi
  • 如何改变linux终端界面的颜色
  • win8账户锁定无法登录
  • vsftpd的配置文件
  • linux检测硬件
  • win8电脑键盘全部失灵怎么办
  • node.js的概念
  • shell发送报文
  • python简易
  • 使用jquery
  • 批处理 写入文件
  • Node.js中的事件循环是什么
  • 自定义图片制作软件
  • js html css
  • jquery修改字体
  • 下载重庆税务官方app
  • 广西城建投资集团官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设