当前损坏的代码:http: //jsfiddle.net/9F52n/2/
我正在尝试做的事情:学习如何定义一个行为类似于类的对象/函数,并能够定义静态和可实例化的子类(下面我的示例中的单例)。
目前,我下面的代码并不能很好地工作。但是,如果删除了可实例化类和静态类,您会发现我已经掌握了创建类的基础知识。
所以,我想我的问题是:用我定义 TBR 的方式定义嵌套类(单例或其他)的正确/最语义化的方式是什么?(function(){...})(window)
var TBR = (function() {
// define local copy of taco bell run
var TBR = function() {
return new TBR.fn.init();
},
message = "hello world!";
TBR.fn = TBR.prototype = {
constructor: TBR,
init: function() {
console.log("From TBR Constructor: " + message);
}
}
var InstantiatableClass = function() {
return new TBR.InstantiatableClass, fn.init();
}
InstantiatableClass.fn =InstantiatableClass.prototype = {
constructor: TBR.InstantiatableClass,
init: function() {
console.log("from InstantiatableClass: " + message);
}
}
this.staticClass = function() {
var subMessage = "little world";
init = function() {
console.log("from staticClass: " + subMessage);
}
}
// expose TBR to the window object
window.TBR = TBR;
})(window);