57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 587d7dad367417b2b2512b78 | |||
|  | title: Use a Constructor to Create Objects | |||
|  | challengeType: 1 | |||
|  | videoUrl: '' | |||
|  | localeTitle: 使用构造函数创建对象 | |||
|  | --- | |||
|  | 
 | |||
|  | ## Description
 | |||
|  | <section id="description">这是上一次挑战中的<code>Bird</code>构造函数: <blockquote> function Bird(){ <br> this.name =“阿尔伯特”; <br> this.color =“blue”; <br> this.numLegs = 2; <br> //构造函数中的“this”始终引用正在创建的对象<br> } <br><br>让blueBird = new Bird(); </blockquote>请注意,在调用构造函数时使用<code>new</code>运算符。这告诉JavaScript创建一个名为<code>blueBird</code>的<code>Bird</code>新<code>instance</code> 。如果没有<code>new</code>运营商, <code>this</code>在构造函数中不会指向新创建的对象,给人意想不到的效果。现在, <code>blueBird</code>具有在<code>Bird</code>构造函数中定义的所有属性: <blockquote> blueBird.name; // =>艾伯特<br> blueBird.color; // =>蓝色<br> blueBird.numLegs; // => 2 </blockquote>就像任何其他对象一样,可以访问和修改其属性: <blockquote> blueBird.name ='Elvira'; <br> blueBird.name; // =>埃尔维拉</blockquote></section> | |||
|  | 
 | |||
|  | ## Instructions
 | |||
|  | <section id="instructions">使用上一课中的<code>Dog</code>构造函数创建<code>Dog</code>的新实例,将其分配给变量<code>hound</code> 。 </section> | |||
|  | 
 | |||
|  | ## Tests
 | |||
|  | <section id='tests'> | |||
|  | 
 | |||
|  | ```yml | |||
|  | tests: | |||
|  |   - text: 应该使用<code>Dog</code>构造函数创建<code>hound</code> 。 | |||
|  |     testString: 'assert(hound instanceof Dog, "<code>hound</code> should be created using the <code>Dog</code> constructor.");' | |||
|  |   - text: 您的代码应该使用<code>new</code>运算符来创建<code>Dog</code>的<code>instance</code> 。 | |||
|  |     testString: 'assert(code.match(/new/g), "Your code should use the <code>new</code> operator to create an <code>instance</code> of <code>Dog</code>.");' | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Challenge Seed
 | |||
|  | <section id='challengeSeed'> | |||
|  | 
 | |||
|  | <div id='js-seed'> | |||
|  | 
 | |||
|  | ```js | |||
|  | function Dog() { | |||
|  |   this.name = "Rupert"; | |||
|  |   this.color = "brown"; | |||
|  |   this.numLegs = 4; | |||
|  | } | |||
|  | // Add your code below this line | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Solution
 | |||
|  | <section id='solution'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` | |||
|  | </section> |