当前位置: 首页 > news >正文

做网站为什么需要营业执照专业的郑州网站推广

做网站为什么需要营业执照,专业的郑州网站推广,做网站公司找意向客户,好用的网站模板【介绍】 for-in 和 for-of 都是 JavaScript 中用于遍历数据结构的循环语句,但它们的工作原理和适用场景有所不同。特别是它们在遍历对象时的行为是不同的。 【区别】 for-in 遍历对象 for-in 是用于遍历对象的 可枚举属性的键名(属性名)…

【介绍】

for-infor-of 都是 JavaScript 中用于遍历数据结构的循环语句,但它们的工作原理和适用场景有所不同。特别是它们在遍历对象时的行为是不同的。

【区别】

for-in 遍历对象

  • for-in 是用于遍历对象的 可枚举属性的键名(属性名),它会遍历对象自身以及继承的属性(从原型链继承的属性)。这种遍历顺序并不是固定的,因此在遍历时,键名的顺序不一定是按添加顺序排列的。
示例:
const obj = { a: 1, b: 2, c: 3 };for (let key in obj) {console.log(key);  // 输出属性名: "a", "b", "c"console.log(obj[key]);  // 输出属性值: 1, 2, 3
}
  • for-in 遍历的是 属性名(键),可以通过 obj[key] 获取对应的值。
  • 它也会遍历继承自原型链的属性。
注意:
  • for-in 可能遍历到对象的原型链上的属性,因此通常在遍历对象时要使用 hasOwnProperty 来过滤掉继承的属性:
for (let key in obj) {if (obj.hasOwnProperty(key)) {console.log(key, obj[key]);  // 只输出 obj 自有属性}
}

for-of 遍历对象

  • for-of 主要用于遍历 可迭代对象(如数组、字符串、Map、Set 等),它可以直接遍历这些对象的 元素值普通对象(如 {})不是可迭代对象,因此不能使用 for-of 遍历对象
示例:
const arr = [1, 2, 3, 4];for (let value of arr) {console.log(value);  // 输出:1, 2, 3, 4
}
  • for-of 遍历的是 数组元素的值,并不像 for-in 那样遍历键名。

区别总结:

特性for-infor-of
遍历目标对象的 属性名(键名)可迭代对象的
适用场景用于遍历对象的属性用于遍历数组、字符串、Set、Map 等可迭代对象的值
遍历顺序遍历对象属性的顺序不固定遍历顺序是固定的,按数组的顺序遍历元素
遍历对象时的行为遍历对象的所有可枚举属性,包括原型链上的属性不适用于对象,适用于数组等可迭代对象
是否遍历原型链会遍历继承的属性不会遍历原型链上的元素
对象如何使用 for-of 遍历?

由于普通对象是不可迭代的,不能直接使用 for-of 来遍历对象。如果你希望遍历对象的值或键,可以先使用 Object.keys(), Object.values()Object.entries() 来将对象转化为可迭代的结构,然后使用 for-of 遍历。

示例:使用 for-of 遍历对象的键和值
const obj = { a: 1, b: 2, c: 3 };// 遍历键
for (let key of Object.keys(obj)) {console.log(key);  // 输出:a, b, c
}// 遍历值
for (let value of Object.values(obj)) {console.log(value);  // 输出:1, 2, 3
}// 遍历键值对
for (let [key, value] of Object.entries(obj)) {console.log(key, value);  // 输出:a 1, b 2, c 3
}

【总结】

  • for-in 用于遍历 对象的属性名,适合遍历对象本身及其原型链上的属性。
  • for-of 用于遍历 可迭代对象的元素值,常用于遍历数组、字符串、Set 和 Map 等类型。对于普通对象,通常先将对象转化为可迭代的结构后才能使用 for-of

补充

for-in遍历对象时属性顺序不固定

在 JavaScript 中,for-in 遍历对象时的属性顺序确实不是固定的。特别是对于对象的 数字类型的键名,浏览器的行为可能会不同,但根据 ECMAScript 规范,对于普通对象来说, 字符串类型的键名会按添加顺序遍历,而数字键名会按数值顺序遍历

然而,这个顺序并不是严格保证的,尤其是在老版本的浏览器中,可能会出现不同的行为。为了演示这种不固定顺序的行为,我们可以考虑以下代码示例,展示不同类型的键名如何影响 for-in 的遍历顺序。

示例:for-in 遍历顺序
const obj = {'3': 'three',   // 数字类型的键'1': 'one',     // 数字类型的键'2': 'two',     // 数字类型的键'a': 'apple',   // 字符串类型的键'b': 'banana',  // 字符串类型的键'z': 'zebra'    // 字符串类型的键
};for (let key in obj) {console.log(key);  // 输出属性名(键)
}
输出:
1
2
3
a
b
z
解释:
  1. 数字键'1', '2', '3')按数值顺序排列,先输出数字键。
  2. 字符串键'a', 'b', 'z')按添加顺序排列,紧随其后。
示例:for-in 的原型链行为

for-in 不仅会遍历对象本身的属性,还会遍历继承的属性(即原型链上的属性)。因此,如果对象有继承的属性或方法,for-in 会遍历这些继承的属性。

const obj = {name: 'Alice',age: 25
};Object.prototype.sayHello = function() {console.log('Hello!');
};for (let key in obj) {console.log(key);  // 输出:name, age, sayHello
}
输出:
name
age
sayHello
解释:

for-in 会遍历 obj 的自有属性和继承的属性,因此 sayHello 也被遍历到。

小结:
  • for-in 的遍历顺序并不完全固定,尤其是数字类型的键名的顺序可能因不同的 JavaScript 引擎而有所不同。
  • 对于字符串类型的键,for-in 通常会按照对象中添加的顺序遍历。
  • for-in 还会遍历继承自原型链上的属性,因此需要特别注意过滤掉继承的属性。
http://www.khdw.cn/news/15410.html

相关文章:

  • 怎么添加网站图标刷评论网站推广
  • php做的网站论文网站开发报价方案
  • 做个人网站到哪里做在哪里可以免费自学seo课程
  • wordpress 摄影订单关键词优化策略有哪些
  • 局域网WEB网站开发郑州做网站推广电话
  • 沈阳德泰诺网站制作网站运营管理
  • 怎样做网站导航栏百度经验官网首页
  • 制作网站的免费软件大型门户网站建设
  • 软件ui设计网站西安网络推广seo0515
  • 做网站经验徐州seo外包公司
  • 新网站如何做免费推广电脑网络优化软件
  • 昆明集团网站建设优秀网站设计
  • 天津企业网站建设开发维护关键词首页排名优化公司推荐
  • 大淘客网站上的推广怎么做市场营销推广策划
  • 南平网站怎么做seo在线刷关键词网站排名
  • 专业网页制作产品网络推广网站seo服务公司
  • 西宁网站制作哪家公司好原创文章代写
  • 建设九九网站深圳seo优化电话
  • 软件开发和前端开发的区别江西网络推广seo
  • 安徽平台网站建设设计营销的手段和方法
  • wordpress轮播图设置百度快照优化排名
  • dedecms网站的源码如何安装seo优化的搜索排名影响因素主要有
  • 网站百度流量怎么做网站做优化一开始怎么做
  • 鞍山做网站专业公司杭州做百度推广的公司
  • 莆田市城厢区建设局网站b2b平台推广
  • 国际外贸网站腰肌劳损的自我治疗和恢复的方法有什么?
  • 电子商务动态网站开发怎么做神马搜索排名seo
  • 做简历网站 知乎如何建立一个自己的网站?
  • 做阿里巴巴怎么进公司网站qq群引流推广软件
  • 网站建设公司客户分析推广计划怎么做推广是什么