位置: 编程技术 - 正文

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

  • 什么是价税分离的原因
  • 内蒙古注册税务师协会
  • 内账需要哪些单据
  • 待处理财产损益借贷方向
  • 以经营房产投资合营收固定收益如何开发票?
  • 客户发票弄丢了应该如何补救
  • 不能抵扣进项税额的发票类型
  • 负利润的话小型微利企业减免企业所得税吗
  • 机械租赁小规模企业所得税
  • 房屋及建筑物属于什么会计要素
  • 企业取得租车发票
  • 建筑安装企业成本费用包括哪些
  • 缴纳补充公积金的外企
  • 核定征收怎么交企业所得税
  • 注销企业时所有权怎么办
  • 法定盈余公积金转增资本不超过25%
  • 加计扣除是什么优惠方式
  • 工商局打印公司章程介绍信
  • mac系统怎么玩游戏
  • 如何玩faceit
  • 社保怎么计提
  • 个人所得税如何退税操作步骤
  • 苹果系统的声音
  • 代扣代缴手续费比例
  • 银行收取对公账户服务费有什么用
  • 销售不动产预收款预缴增值税
  • 其他债权投资按公允价值计量,为什么计提减值准备
  • 框架 frame
  • node与nodejs
  • 出差补贴应该怎么入账
  • 政府购买服务交几险
  • 公账发工资如何开票
  • 金税盘 解锁
  • java拼接字符串和数字
  • mongodb import
  • sqlite时间戳转时间语句(时间转时间戳)
  • 增值税起征点适用于哪些
  • 合伙人退伙后对退伙后的债务承担责任吗
  • 出口销售收入计算公式
  • sql server数据表
  • mysql文件更改存放路径
  • 销售额多少需要纳税
  • 其他应收款是负数怎么报税
  • 土增清算可以扣除项目
  • 授权支付银行有权不给发么
  • 固定资产折旧提头不提尾
  • 应交税金在贷方是什么意思
  • 银行承兑汇票如何签收
  • 工程结算收入是否缴纳增值税
  • 工程项目采购
  • 全面推开营改增政策指引
  • 公司送礼怎么记账
  • 土地使用税如何计算公式
  • 自产自销免税发票可以抵税吗
  • 公司筹建期间允许投标吗
  • 会计的职务是什么意思
  • mysql使用语句
  • sql server 约束
  • mysql中的去重
  • xp系统插u盘没反应怎么解决
  • win7的开始菜单在哪里
  • cortanawin10在哪
  • linux中压缩文件
  • centos 6.6安装教程
  • win10 2020h1
  • w10运行命令在哪
  • edge新版浏览器
  • linux常用命令查看
  • linux学啥
  • linux shell脚本编写实例
  • Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
  • jquery实现手风琴遇到问题
  • js 数组 增加元素
  • 批处理/d
  • Facebook推出强大Android图片库Fresco 自动释放内存 图片缓存 内存益处
  • [置顶]津鱼.我爱你
  • javascript怎么学好
  • 医院盖章去哪个部门
  • 浙江蹦极哪里好玩
  • 银行是不是要交社保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设