現在の壊れたコード: http://jsfiddle.net/9F52n/2/
私がやろうとしていること: クラスのように動作するオブジェクト/関数を定義する方法を学び、 static とインスタンス化可能な両方のサブクラスを定義できるようにします (以下の例ではシングルトン)。
現在、以下のコードはうまく機能しません。しかし、インスタンス化可能なクラスと静的クラスが削除された場合、クラス作成の非常に基本的なことがわかっていることがわかります。
だから、私の質問は次のとおりだと思います: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);