子类方法调用
function person(name) {
this.name = name
}
function Student(name, className) {
this.className = className
person.call(this, name)
}
var bosn = new Student('bosn', 'Grade2')
console.log('bosn', bosn);
//Student { className: 'Grade2', name: 'bosn' }
person.prototype.init = function() {
console.log('person init');
}
Student.prototype.init = function() {
console.log('Student init');
person.prototype.init.apply(this, arguments)
return this
}
var soh = new Student('soh', 'grade3')
console.log('soh', soh.init());
//Student init
//person init
//soh Student { className: 'grade3', name: 'soh' }
链式调用
function classManager() {}
classManager.prototype.addClass = function(str) {
console.log(str + ' added');
return this
}
var manager = new classManager()
manager.addClass('one').addClass('two').addClass('threee')
//one added
//two added
//threee added
