我有一個JavaScript「類」定義,像這樣:我可以在Javascript中「擴展」一個閉包定義的「類」嗎?
var Welcomer = function(name) {
var pName = name;
var pMessage = function() {
return "Hi, " + pName + "!";
};
return {
sayHi: function() {
alert(pMessage());
}
};
};
new Welcomer('Sue').sayHi();
有沒有一種方式,這樣我可以重新定義公共方法和訪問私有方法和變量的方式,以「繼承」 Welcomer
?下面會給我訪問的公共方法,而不是私人的:
var UnhappyWelcomer = function(name) {
var pSadMessage = function() {
// won't work, b/c I don't have access to pMessage
return pMessage() + " Miserable day, innit?";
};
return {
sayHi: function() {
alert(pSadMessage());
}
};
};
UnhappyWelcomer.prototype = Welcomer(); // failed attempt at inheritance
new UnhappyWelcomer().sayHi();
您可能需要閱讀[本文](http://mckoss.com/jscript/object.htm)。 – 2010-08-24 21:35:46
爲該文章添加書籤。 Thx – 2010-08-24 21:39:58