/*
*有时创建实例要做原型里的事,又做一些额外的事,还得和其他实例保持一样的用法。
*这时用带原型的构造器就比较容易完成这些事
*/
function p(x,n){
this.name = n;
this.xing = x;
this.toString = function(){
console.log(this.xing + this.name);
};
}
p.prototype.work = function(){
console.log("写代码");
/*比如这边做了很多事 */
};
var t0 = new p("张","三"),
t1 = new p("李","四");
t1.work = function(){
p.prototype.work.call(this);
/*除了做原型的事外,还有再做其他事*/
console.log("还要写周报");
}
t0.toString();
t0.work(); //他只做原型规定的事就好了
t1.toString();
t1.work();
/*输出
张三 tprototype.js:5
写代码 tprototype.js:10
李四 tprototype.js:5
写代码 tprototype.js:10
还要写周报 tprototype.js:20
*/