【发布时间】:2017-02-03 20:44:04
【问题描述】:
我正在尝试将显示模块模式与继承一起使用。我似乎让它工作正常,但它使用“__proto__”,我知道它被认为已弃用。有没有更好的方法是在不使用“__proto__”的情况下创建继承?
var Person = (function() {
var _name;
var api = {
init: init,
getName: getName
}
return api;
function init(name) {
_name = name;
}
function getName() {
return _name;
}
}())
var Teacher = (function() {
var _subject = "Math";
var api = {
getSubject: getSubject,
say: say
}
api.__proto__ = Person;
return api;
function getSubject() {
return _subject;
}
function say() {
console.log("I am " + this.getName() + " and I teach " + _subject)
}
}());
Teacher.init("Bob");
Teacher.say() // I am Bob and I teach math
【问题讨论】:
-
当
Object.create让你在创建时设置它,我不明白为什么你需要在创建对象后设置原型链。
标签: javascript inheritance revealing-module-pattern