我有一个Javascript "class“,定义如下:
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();https://stackoverflow.com/questions/3561177
复制相似问题