静态成员
静态成员由构造方法提供,一般用在工具函数的包装中。
function Person(){
}
Person.a = function(){
console.log("a");
}
以上的这种写法会被添加到Construct中,在var p = new Person(),p中不存在该方法。
注意与以下写法的区别
function Person(){
this.a=function(){
console.log("a");
}
}
该写法会把a function添加到由Person构造函数创建的对象中。也就是说,我们如果写一个var p = new Person(),p中存在a方法。
实例成员
与对象有关的成员,也就是说,我们需要把方法添加到对象中。
这种写法会将a function被初始化到所有由Person构造函数创建的实例对象中。这种写法不推荐使用,我们一般会将其写入到Person.prototype属性中。
function Person(){
this.a=function(){
console.log("a");
}
}
另一种写法,添加到特定对象中,其他由Person构造函数创建的对象中不包含该方法。
function Person(){
}
var p = new Person();
p.a = function(){
console.log("a");
}