70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: For...In Loop
 | |
| localeTitle: 对于... In Loop
 | |
| ---
 | |
| `for...in`语句以任意顺序迭代对象的可枚举属性。对于每个不同的属性,可以执行语句。
 | |
| ```
 | |
| for (variable in object) { 
 | |
|  ... 
 | |
|  } 
 | |
| ```
 | |
| 
 | |
| |必需/可选|参数|说明| | ------------------- | ----------- | ----------------- -------------------------------------------------- --- | |必需|变量|每次迭代都会为变量分配不同的属性名称。 | |可选|对象|迭代其可枚举属性的对象。 |
 | |
| 
 | |
| ## 例子
 | |
| ```
 | |
| // Initialize object. 
 | |
|  a = { "a": "Athens", "b": "Belgrade", "c": "Cairo" } 
 | |
|  
 | |
|  // Iterate over the properties. 
 | |
|  var s = "" 
 | |
|  for (var key in a) { 
 | |
|     s += key + ": " + a[key]; 
 | |
|     s += "<br />"; 
 | |
|     } 
 | |
|  document.write (s); 
 | |
|  
 | |
|  // Output: 
 | |
|  // a: Athens 
 | |
|  // b: Belgrade 
 | |
|  // c: Cairo 
 | |
|  
 | |
|  // Initialize the array. 
 | |
|  var arr = new Array("zero", "one", "two"); 
 | |
|  
 | |
|  // Add a few expando properties to the array. 
 | |
|  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); 
 | |
|  
 | |
|  // Output: 
 | |
|  //   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); 
 | |
|  
 | |
|  //Output: 
 | |
|  //   a 
 | |
|  //   b 
 | |
|  //   c 
 | |
| ```
 | |
| 
 | |
| # 资源:
 | |
| 
 | |
| *   [MDN链接](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for…in)
 | |
| *   [MSDN链接](https://msdn.microsoft.com/library/55wb2d34.aspx) |