使用new关键字创建函数之后,采用新对象.属性名的方式来修改属性的值,这种方式可以进行一个优化,因为如果我们需要定义很多个新对象,那么采用这种方式进行修改属性就需要进行多次的修改,会比较繁琐。

1
2
3
4
5
6
7
8
9
10
...
var cBird = new Bird();
cBird.name = "xxx";
...
var dBird = new Bird();
dBird.name = "xxx";
...
var dBird = new Bird();
dBird.name = "xxx";
...

所以,我们采用在构造函数中设置参数的方式来进行定义。

1
2
3
4
5
function Bird(name,color){
this.name = name;
this.color = color;
this.numLegs = 2;
}

当我们需要创建一个新的对象时,可以直接将属性的值作为参数进行传递。

1
var cBird = new Bird("cbird","black");

这样做的好处就是我们无需再进行参数的修改即可直接调用。

1
2
3
cBird.name;     //输出 “cbrid”
cBird.color; //输出 “black”
cBird.numLegs; //输出 2 因为我们并没有给它设置参数以及值的修改,直接输出默认构造函数的值。

采用这种方式可以让构造函数更加的灵活,因为我们可以直接创建的时候设置好属性的值。

评论