位置: 编程技术 - 正文

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

  • 税控盘280怎么变398了
  • 税务局退给企业的多交的所得税该怎样帐务处理?
  • 研发销售型企业
  • 房地产企业什么时候开具正式发票
  • 纳税人未缴少缴税款
  • 车辆保险的车船税怎么算
  • 注册税务师的报名条件、时间及考试
  • 长期股权投资是金融资产还是非金融资产
  • 现金流量表季度申报可以不填吗
  • 房地产企业消防设施计入什么科目
  • 未确认融资费用计算公式
  • 购进财务软件折旧怎么算
  • 房产税按原值计算公式
  • 营业执照三证合一是哪一年开始的
  • 受托方提供材料怎么写
  • 土地投资入股交什么税
  • 土地使用税级别划分标准
  • 优化技巧
  • 小企业处置固定资产
  • 国家减免税额怎么入账
  • 非居民企业提供劳务企业所得税
  • 分公司的款汇入总公司得出什么证明
  • 什么人适用131419手机号码
  • 增值税退税金额怎么算
  • 分支机构注销留抵税额可以税前扣除吗?
  • 以前年度的账错了怎么办
  • 个人开发是什么意思
  • 出售货物货款预缴增值税
  • PHP:spl_autoload_unregister()的用法_spl函数
  • 逾期未收回包装物押金会计分录
  • 出售固定资产减按2%会计处理1%怎么处理
  • 存货 计价
  • 辛华达瀑布,加拿大贾斯珀国家公园 (© Schroptschop/Getty Images)
  • 犹他州现神秘物体
  • iis制作网页
  • 金融资产减值损益怎么算
  • php ajax 教程
  • 费用报销单怎样粘贴
  • 单文件php文件列表
  • 投资性房地产在资产负债表中的列示
  • 用友u8删除凭证的步骤
  • 产品补发原来的要退吗
  • 支付兼职工资账务处理
  • java基础运算符有哪些
  • mongodb快速入门
  • 挂预收账款怎么处理
  • 无偿赠送怎么做账
  • 经营性应付项目的增加为什么调减
  • sql怎么用sql语句创建表
  • 申报错误后处理有影响吗
  • 专票要写开户行和账号
  • 现金日记账的登记证据有
  • 加工费的进项发票摘要写什么
  • 加油卡充值如何开发票
  • 建筑安装工程承包合同条例还有效吗
  • 手工账月末结账步骤
  • 《实施条例》第二十七条
  • 为什么零售业只进不出呢
  • 企业债与公司债的还款有区别
  • 不含税价格怎么算公式(1+3%)
  • MySQL execute、executeUpdate、executeQuery三者的区别
  • windows7家长控制
  • win10计算机管理器
  • win8怎么调出任务栏
  • 为什么没有win8系统
  • linux系统怎么隐藏文件
  • javascript中对象一般由什么组成
  • Android:Activity+Fragment及它们之间的数据交换(一)
  • dos命令行怎么打开
  • bootstrap范例
  • java多线程用法
  • bash foreach
  • unity安装进度条不动
  • jquery.form
  • javascript文档对象
  • 安卓app活动
  • jqueryui
  • 个人在税务局一个月能开多少
  • 消费税的税收优惠有哪些
  • 怎么查税务是否实名认证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设