【发布时间】:2014-02-02 09:52:26
【问题描述】:
这个Possible duplicate对我没有帮助,因为一个类似的问题,我面试失败了。
这个想法是使用module pattern和inheritance创建一个人Object,他是老师的父亲和经理的祖父。
像那个经理->老师->人
我的代码是这样的(My Plunk):
(function(undef)
{
/**Waiting till document is ready before applying next functions*/
$(document).ready(function(){
var person = new APP.Person('Aria Stark','223232');
document.write(person.getDetails());
})();
var APP = {};
APP.Person =(function() {
function Person(name, ID) {
this.name = name;
this.ID = ID;
}
Person.prototype.getDetails = function() {
return " name: " + this.name + " ID: " + this.ID;
};
return Person;
});
APP.Teacher =(function () {
function Teacher(name, ID, salary, hatColor) {
APP.Person.call(this, name, ID);
this.salary = salary;
this.hatColor = hatColor;
}
Teacher.prototype = new APP.Person();
Teacher.prototype.getDetails = function() {
return APP.Person.call(this) + " Salary: " + this.salary + " Hat: " + this.hatColor;
};
return Teacher;
});
APP.Manager =(function () {
function Manager(name, ID, salary, hatColor, car) {
APP.Teacher.call(this, name, ID, salary, hatColor);
this.car = car;
}
Manager.prototype = new APP.Teacher();
Manager.prototype.getDetails = function() {
return APP.Teacher.call(this) + " Car: " + this.car;
};
return Manager;
});
})();
我在第一行得到一个错误:
var person = new APP.Person('Aria Stark','22323');
错误是:Uncaught TypeError: object is not a function
有人可以帮我解决这个问题吗?我也愿意听取对此代码的其他改进。
【问题讨论】:
标签: javascript function object iife