现实生活中的继承
程序中的继承
function Person (name, age) {
this.type = ‘human‘
this.name = name
this.age = age
}
?
function Student (name, age) {
// 借用构造函数继承属性成员
Person.call(this, name, age)
}
?
var s1 = Student(‘张三‘, 18)
console.log(s1.type, s1.name, s1.age) // => human 张三 18
function Person (name, age) {
this.type = ‘human‘
this.name = name
this.age = age
}
?
Person.prototype.sayName = function () {
console.log(‘hello ‘ + this.name)
}
?
function Student (name, age) {
Person.call(this, name, age)
}
?
// 原型对象拷贝继承原型对象成员
for(var key in Person.prototype) {
Student.prototype[key] = Person.prototype[key]
}
?
var s1 = Student(‘张三‘, 18)
?
s1.sayName() // => hello 张三
function Person (name, age) {
this.type = ‘human‘
this.name = name
this.age = age
}
?
Person.prototype.sayName = function () {
console.log(‘hello ‘ + this.name)
}
?
function Student (name, age) {
Person.call(this, name, age)
}
?
// 利用原型的特性实现继承
Student.prototype = new Person()
?
var s1 = Student(‘张三‘, 18)
?
console.log(s1.type) // => human
?
s1.sayName() // => hello 张三
原文:https://www.cnblogs.com/superjishere/p/11727808.html