// 构造器内定义属性
function Fun(a, b) {
this.a = a;
this.b = b;
}
// 原型属性定义方法
Fun.prototype.c = function() {
return this.a + this.b;
}
// etc...
//注意,千万不要使用字面量方式来定义属性和方法,否则原有属性和方法会被重写:
function Fn() {};
// 定义属性
Fn.prototype.a = 1;
Fn.prototype.b = 2;
// 字面量定义方法,原型被重写,原有属性和方法被更新
Fn.prototype.c = {
c : function() {
return Fn.prototype.a + Fn.prototype.b;
// return this.a + this.b;
}
}
var foo = new Fn();
console.log(foo.c.c())
// console.log(foo.c()) //3
console.log(foo.a) //1
console.log(foo.b) //2