-
执行构造函数里面的代码,给这个新对象添加属性和方法。
-
返回这个新对象(所以构造函数里面不需要 return )。
JavaScript 的构造函数中可以添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的 this 上添加。通过这两种方式添加的成员,就分别称为静态成员和实例成员。
实例成员:
在构造函数内部创建的对象成员称为实例成员,只能由实例化的对象来访问。
静态成员:
在构造函数本上添加的成员称为静态成员,只能由构造函数本身来访问 。
例如:
function A(uname,age){
this.uname = uname;
this.age = age;
this.say = function() {
console.log(this.uname+‘你好’);
}
}
var wh = new A(‘王欢’,18);
var xl = new A(‘小熊’,18);
在上述代码中,构造函数中通过this
添加的name
,age
,say方法
都是实例成员。只能由实例化的对象来访问。在构造函数本身上添加的成员叫静态成员,如:创建一个静态成员。
A.sex=‘女’;
[](()2、构造函数的问题
构造函数方法很好用,但是存在浪费内存的问题
如下所示:
function Student(age,name){
this.age = age;
this.name = name;
this.score = function(){
console.log(‘孩子们成绩都很好!’);
}
}
console.dir(Student);
var xl = new Student(18,‘小熊’);
var wh = new Student(17,‘王欢’);
xl.score();
wh.score();
通过下述代码判断两次调用的方法是否地址相同。
console.log(xl.score =