65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 587d7daf367417b2b2512b7d | |||
|  | title: Iterate Over All Properties | |||
|  | challengeType: 1 | |||
|  | videoUrl: '' | |||
|  | localeTitle: 迭代所有属性 | |||
|  | --- | |||
|  | 
 | |||
|  | ## Description
 | |||
|  | <section id="description">您现在已经看到了两种属性: <code>own</code>属性和<code>prototype</code>属性。 <code>Own</code>属性直接在对象实例本身上定义。和<code>prototype</code>属性所定义的<code>prototype</code> 。 <blockquote> function Bird(name){ <br> this.name = name; //拥有财产<br> } <br><br> Bird.prototype.numLegs = 2; //原型属性<br><br>让鸭子=新鸟(“唐纳德”); </blockquote>以下是如何将<code>duck</code> <code>own</code>属性添加到数组<code>ownProps</code>和<code>prototype</code>属性到数组<code>prototypeProps</code> : <blockquote>让ownProps = []; <br>让prototypeProps = []; <br><br> for(let duck in duck){ <br> if(duck.hasOwnProperty(property)){ <br> ownProps.push(属性); <br> } else { <br> prototypeProps.push(属性); <br> } <br> } <br><br>的console.log(ownProps); //打印[“名称”] <br>的console.log(prototypeProps); //打印[“numLegs”] </blockquote></section> | |||
|  | 
 | |||
|  | ## Instructions
 | |||
|  | <section id="instructions">所有添加<code>own</code>的属性<code>beagle</code>到数组<code>ownProps</code> 。将<code>Dog</code>所有<code>prototype</code>属性添加到数组<code>prototypeProps</code> 。 </section> | |||
|  | 
 | |||
|  | ## Tests
 | |||
|  | <section id='tests'> | |||
|  | 
 | |||
|  | ```yml | |||
|  | tests: | |||
|  |   - text: <code>ownProps</code>数组应包含<code>"name"</code> 。 | |||
|  |     testString: 'assert(ownProps.indexOf("name") !== -1, "The <code>ownProps</code> array should include <code>"name"</code>.");' | |||
|  |   - text: <code>prototypeProps</code>数组应该包含<code>"numLegs"</code> 。 | |||
|  |     testString: 'assert(prototypeProps.indexOf("numLegs") !== -1, "The <code>prototypeProps</code> array should include <code>"numLegs"</code>.");' | |||
|  |   - text: 无需使用内置方法<code>Object.keys()</code>即可解决此挑战。 | |||
|  |     testString: 'assert(!/\Object.keys/.test(code), "Solve this challenge without using the built in method <code>Object.keys()</code>.");' | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Challenge Seed
 | |||
|  | <section id='challengeSeed'> | |||
|  | 
 | |||
|  | <div id='js-seed'> | |||
|  | 
 | |||
|  | ```js | |||
|  | function Dog(name) { | |||
|  |   this.name = name; | |||
|  | } | |||
|  | 
 | |||
|  | Dog.prototype.numLegs = 4; | |||
|  | 
 | |||
|  | let beagle = new Dog("Snoopy"); | |||
|  | 
 | |||
|  | let ownProps = []; | |||
|  | let prototypeProps = []; | |||
|  | 
 | |||
|  | // Add your code below this line | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Solution
 | |||
|  | <section id='solution'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` | |||
|  | </section> |