我正在将 IIFE 用于 HTML5/CSS3/JS 网络小部件游戏。为此,我想创建专门的异常对象,它们是单个对象的后代。我在尝试不可能的事情吗?
到目前为止的代码是
window.Exception = (function(t) {
Exception.title = t;
Exception.msg = '';
function Exception(message) { this.msg = message; }
Exception.prototype = {
toString: function() { return this.title + ': ' + this.msg; }
};
return Exception;
})('Exception');
window.RefException = (function(parent, t) {
RefException.title = t;
RefException.msg = '';
function RefException(message) { this.msg = message; }
RefException.prototype = parent.prototype;
return RefException;
})(window.Exception, 'Reference Exception');
console.log((new RefException('blah')).toString());
当我查看控制台时,我得到了undefined: blah
,RefException
继承原型函数也是如此,但不是命名空间变量title
。我错过了什么吗?