JavaScript中的for...in


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/03/04/JavaScript%E4%B8%AD%E7%9A%84for-in/

摘要

本文主要讲述了:

  1. 作用
  2. 备注

正文

作用

迭代指定对象,所有的非symbol的可枚举的属性的名称。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var ageKey = Symbol('age');
var genderKey = Symbol('gender');

var foo = {
firstName: 'foo',
lastName: 'bar',
sayHello() {
return 'hello, world';
},
get fullName() {
return this.firstName + ' ' + this.lastName;
},
set fullName(fullName) {
var names = fullName.split(' ');
this.firstName = names[0];
this.lastName = names[names.length - 1];
},
[ageKey]: 18,
};

Object.defineProperty(foo, 'country', {
value: 'China',
});

Object.defineProperty(foo, genderKey, {
value: 'male',
});

/*
* country为不可枚举属性,不输出
*
* ageKey为symbol属性,不输出
* genderKey为symbol属性,不输出
*
* toString为不可枚举属性,不输出
*/
for (var key in foo) {
console.log(key);
}

备注

迭代原型链上的可枚举属性

for…in 可以迭代原型链上的可枚举属性。

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/03/04/JavaScript%E4%B8%AD%E7%9A%84for-in/


本文对你有帮助?请支持我


支付宝
微信