Tôi có một "lớp" Javascript được xác định như sau:Tôi có thể "mở rộng" một "lớp học" được đóng theo định nghĩa trong Javascript không?
var Welcomer = function(name) {
var pName = name;
var pMessage = function() {
return "Hi, " + pName + "!";
};
return {
sayHi: function() {
alert(pMessage());
}
};
};
new Welcomer('Sue').sayHi();
Có cách nào để "phân lớp" Welcomer
theo cách như vậy mà tôi có thể xác định lại phương pháp công cộng và được tiếp cận với những phương pháp riêng và các biến? Sau đây sẽ cho tôi tiếp cận với các phương pháp công cộng, nhưng không đến tư thục:
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();
Bạn có thể muốn đọc qua [bài viết này] (http://mckoss.com/jscript/object.htm). –
Đánh dấu bài viết đó. Thx –