JavaScript中的for-in循环用于迭代对象的属性。如果我们要显示对象的内容, 它可能是一个很棒的调试工具。 for-in循环仅在其可枚举属性设置为" true"的对象的那些键上进行迭代。对象中的键值具有四个属性(值, 可写, 可枚举, 可配置)。设置为" true"时可枚举意味着我们可以迭代该属性。你可以在以下内容的属性属性部分中了解有关四个关键属性的信息:JavaScript中的对象。阅读更多有关枚举的信息JavaScript中的可枚举属性.
要点:
- 使用换循环遍历非数组对象。即使我们可以使用换为数组循环, 通常不建议这样做。而是使用对于循环遍历数组。
- 迭代的属性换循环还包括位于原型链.
- 属性的迭代顺序可能与对象中定义的属性不匹配。
for (let i in obj1) {// Prints all the keys in
// obj1 on the console
console.log(i);
}
例子:
<
script>
const courses = {// Declaring a courses object
firstCourse: "C++ STL" , secondCourse: "DSA Self Paced" , thirdCourse: "CS Core Subjects"
};
// Creating a new empty object with
// prototype set to courses object
const student1 = Object.create(courses);
// Defining student1 properties and methods
student1.id = 123;
student1.firstName = "Prakhar" ;
student1.showEnrolledCourses = function () {
console.log(courses);
}// Iterating over all properties of
// student1 object
for (let prop in student1) {
console.log(prop + " ->
"
+ student1[prop]);
}
<
/script>
控制台输出:
文章图片
换入
循环迭代对象的属性及其原型链的属性。
【JavaScript for-in循环详细用法指南】如果我们只想显示" student1"对象的属性, 而该对象仅属于该对象而不是原型链, 则可以使用" if"检查
hasOwnProperty()方法
.
<
script>
// Iterating over only those properties
// of student 1 object which is not on
// its prototype chain
for (let prop in student1) {
if (student1.hasOwnProperty(prop)) {
console.log(prop + " ->
"
+ student1[prop]);
}
}<
/script>
控制台输出:
文章图片
与for循环hasOwnProperty检查, 遍历对象的属性。
推荐阅读
- 计算机病毒–从新手到专业人士
- PHP中的关联数组详细介绍
- 算法(递归函数检查字符串是否是回文)
- Python MySQL 删除表用法指南
- 8086微处理器中的寻址模式详细指南
- 金融市场中的云计算服务简介
- 三星班加罗尔(SRIB)实习面试经验(校园内)
- 操作系统中目录的结构详细介绍
- SASS嵌套用法示例