2018-10-12 16:35:31 -04:00
|
|
|
---
|
|
|
|
title: For...In Loop
|
|
|
|
localeTitle: 对于... In Loop
|
|
|
|
---
|
|
|
|
`for...in`语句以任意顺序迭代对象的可枚举属性。对于每个不同的属性,可以执行语句。
|
|
|
|
```
|
|
|
|
for (variable in object) {
|
|
|
|
...
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## 例子
|
|
|
|
```
|
2018-10-22 10:40:57 -07:00
|
|
|
// 初始一個物件.
|
2018-10-12 16:35:31 -04:00
|
|
|
a = { "a": "Athens", "b": "Belgrade", "c": "Cairo" }
|
|
|
|
|
2018-10-22 10:40:57 -07:00
|
|
|
// 迭代对象的可枚举属性.
|
2018-10-12 16:35:31 -04:00
|
|
|
var s = ""
|
|
|
|
for (var key in a) {
|
|
|
|
s += key + ": " + a[key];
|
|
|
|
s += "<br />";
|
|
|
|
}
|
|
|
|
document.write (s);
|
|
|
|
|
2018-10-22 10:40:57 -07:00
|
|
|
// 輸出:
|
2018-10-12 16:35:31 -04:00
|
|
|
// a: Athens
|
|
|
|
// b: Belgrade
|
|
|
|
// c: Cairo
|
|
|
|
|
2018-10-22 10:40:57 -07:00
|
|
|
// 初始化陣列.
|
2018-10-12 16:35:31 -04:00
|
|
|
var arr = new Array("zero", "one", "two");
|
|
|
|
|
2018-10-22 10:40:57 -07:00
|
|
|
// 新增属性至陣列.
|
2018-10-12 16:35:31 -04:00
|
|
|
arr["orange"] = "fruit";
|
|
|
|
arr["carrot"] = "vegetable";
|
|
|
|
|
|
|
|
// Iterate over the properties and elements.
|
|
|
|
var s = "";
|
|
|
|
for (var key in arr) {
|
|
|
|
s += key + ": " + arr[key];
|
|
|
|
s += "<br />";
|
|
|
|
}
|
|
|
|
|
|
|
|
document.write (s);
|
|
|
|
|
2018-10-22 10:40:57 -07:00
|
|
|
// 輸出:
|
2018-10-12 16:35:31 -04:00
|
|
|
// 0: zero
|
|
|
|
// 1: one
|
|
|
|
// 2: two
|
|
|
|
// orange: fruit
|
|
|
|
// carrot: vegetable
|
|
|
|
|
|
|
|
// Efficient way of getting an object's keys using an expression within the for-in loop's conditions
|
|
|
|
var myObj = {a: 1, b: 2, c:3}, myKeys = [], i=0;
|
|
|
|
for (myKeys[i++] in myObj);
|
|
|
|
|
|
|
|
document.write(myKeys);
|
|
|
|
|
2018-10-22 10:40:57 -07:00
|
|
|
//輸出:
|
2018-10-12 16:35:31 -04:00
|
|
|
// a
|
|
|
|
// b
|
|
|
|
// c
|
|
|
|
```
|
|
|
|
|
|
|
|
# 资源:
|
|
|
|
|
|
|
|
* [MDN链接](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for…in)
|
2018-10-22 10:40:57 -07:00
|
|
|
* [MSDN链接](https://msdn.microsoft.com/library/55wb2d34.aspx)
|