---
id: 587d7dad367417b2b2512b77
title: Define a Constructor Function
challengeType: 1
videoUrl: ''
localeTitle: 定义构造函数
---
## Description
Constructors
函数是创建新对象的函数。它们定义属于新对象的属性和行为。将它们视为创建新对象的蓝图。以下是constructor
的示例: function Bird(){
this.name =“阿尔伯特”;
this.color =“blue”;
this.numLegs = 2;
}
此constructor
定义一个Bird
对象,其属性name
, color
和numLegs
设置为Albert,blue和2。 Constructors
遵循一些约定: -
Constructors
函数使用大写名称定义,以区别于非constructors
函数的其他函数。 -
Constructors
使用关键字this
来设置它们将创建的对象的属性。在constructor
, this
指的是它将创建的新对象。 -
Constructors
定义属性和行为,而不是像其他函数那样返回值。
## Instructions
创建一个constructor
Dog
,其属性name
, color
和numLegs
分别设置为字符串,字符串和数字。
## Tests
```yml
tests:
- text: Dog
应该将name
属性设置为字符串。
testString: assert(typeof (new Dog()).name === 'string');
- text: Dog
应该将color
属性设置为字符串。
testString: assert(typeof (new Dog()).color === 'string');
- text: Dog
应该将numLegs
属性设置为数字。
testString: assert(typeof (new Dog()).numLegs === 'number');
```
## Challenge Seed
## Solution
```js
// solution required
```