写出一个构造函数 Animal
输入为空
输出为一个新对象,该对象的共有属性为 {行动: function(){}},没有自有属性
再写出一个构造函数 Human
Human 继承 Animal
输入为一个对象,如 {name: 'Frank', birthday: '2000-10-10'}
输出为一个新对象,该对象自有的属性有 name 和 birthday,共有的属性有物种(人类)、行动和使用工具
在写出一个构造函数 Asian
Asian 继承 Human
输入为一个对象,如 {city: '北京', name: 'Frank', birthday: '2000-10-10' }
输出为一个新对象,改对象自有的属性有 name city 和 bitrhday,共有的属性有物种、行动和使用工具和肤色
既
最后一个新对象是 Asian 构造出来的
Asian 继承 Human,Human 继承 Animal
答案:
function Animal() {
}
Animal.prototype.行动 = function () { }
var animal = new Animal()
function Human(options) {
this.name = options.name
this.birthday = options.birthday
}
Human.prototype = Object.create(Animal.prototype)
Human.prototype.物种 = '人类'
Human.prototype.使用工具 = function () { }
var human = new Human({ name: 'frank', birthday: '2018-09-28' })
function Asian(options) {
Human.call(this, options)
this.city = options.city
}
Asian.prototype = Object.create(Human.prototype)
Asian.prototype.肤色 = '黄色'
var asian = new Asian({ city: 'beijing', name: 'frank', birthday: '2018-09-28' })
console.dir(animal)
console.dir(human)
console.dir(asian)
写出一个构造函数 Animal
输入为空
输出为一个新对象,该对象的共有属性为 {行动: function(){}},没有自有属性
再写出一个构造函数 Human
Human 继承 Animal
输入为一个对象,如 {name: 'Frank', birthday: '2000-10-10'}
输出为一个新对象,该对象自有的属性有 name、物种和 birthday,共有的属性有行动和使用工具 (由于 class 的语法问题,所以物种只能勉为其难作为一个自有属性,本来应该是共有属性的)
再写出一个构造函数 Asian
Asian 继承 Human
输入为一个对象,如 {city: '北京', name: 'Frank', birthday: '2000-10-10' }
输出为一个新对象,改对象自有的属性有 name city 物种 肤色和 bitrhday,共有的属性有行动和使用工具
既
最后一个新对象是 Asian 构造出来的
Asian 继承 Human,Human 继承 Animal
注意,要使用 class 关键字
答案:
class Animal {
行动() { }
}
class Human extends Animal {
constructor(options) {
super(options)
this.name = options.name
this.birthday = options.birthday
this.物种 = '人类'
}
使用工具() { }
}
class Asian extends Human {
constructor(options) {
super(options)
this.city = options.city
this.肤色 = options.肤色
}
}
console.dir(Animal)
console.dir(Human)
console.dir(Asian)
网友评论