位置: 编程技术 - 正文

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

  • 企业所得税法允许税前扣除的费用划分为
  • 印花税计算是含增值税吗
  • 上年多交的增值税能退吗
  • 新公司开基本户银行选择
  • 什么是进项加计扣除
  • 残疾人就业保障金申报时间
  • 发票右上角数字是什么
  • 为什么有的发票税率是3%,有的是1%
  • 软件行业个人所得税
  • 农林牧渔业项目概述怎么写
  • 直线法计提折旧的公式预计净残值
  • 销售免税药品要进项税额转出吗
  • 工伤一次性医疗补助金由谁支付
  • 上月暂估计提的费用次月来发票怎么写会计分录?
  • 供应链公司的组织架构图
  • 报销跨月还能报销吗
  • 延递所得税资产减少
  • 个体工商户税务登记证需要什么资料
  • 员工生育期间社保
  • 专家评审费需要多少钱
  • 工伤赔款付医药费怎么会计分录
  • 小规模季报利润表本月金额和本年累计金额
  • 公司非本单位退休人员发放工资
  • 代理运费进项税额抵扣
  • 红色手撕发票怎么看金额
  • 房租税收怎么算?
  • 小企业递延收益计算公式
  • 小规模企业交纳印花税吗
  • 购货申请书
  • 无发票 入账
  • 如何在win7系统中查看电脑基本信息
  • php有很多流行的mvc框架,这些框架可以
  • silent.exe - silent是什么进程 有什么用
  • 苹果保护你的隐私
  • nclaunch.exe - nclaunch进程有什么用 是什么意思
  • 无偿调入固定资产
  • dsregcmd.exe
  • php实现功能
  • “网络爬虫”
  • 前端使用vue
  • php读取txt文件内容并判断
  • php上传文件类型
  • 借款合同按什么缴纳印花税
  • 个体户交个税新政策
  • 购房补贴退契税3个月没到账
  • 工商企业年报网上申报流程
  • 什么叫做应税劳务
  • mysql默认值怎么设置
  • 生产成本明细科目有哪些内容
  • 小规模纳税人应纳税额减征额怎么算
  • 进出口贸易出纳主要做什么
  • 结构性存款是什么存款
  • 自助餐怎么核算成本
  • 三年期定期存款利率怎么算
  • 可变现净值是什么意思
  • 研发费用扣除75%
  • 工会经费会返还吗
  • 息税前利润变动百分比计算公式
  • mssql server 2012(SQL2012)各版本功能对比
  • sqlmd5加密后解密
  • mysql好在哪里
  • qq8.2.1版本下载正式版
  • coocareservice.exe是病毒吗
  • ghost后恢复数据
  • linux r安装
  • windowxp怎么取消开机密码
  • unityrpg
  • excel初始化时出错
  • perl-v
  • nodejs ddd
  • js中写for循环
  • three.js typescript
  • nodejs接收form表单
  • js函数详解
  • android 保存密码
  • jquery封装原理
  • 国家税务总局班子简历
  • 国家税务总局官网电子税务局
  • 税务更名需要什么材料
  • 18个税种征税范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设