- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- JavaScript/OOP/クラスをパッケージ(名前空間)にまとめる へ行く。
- 1 (2013-05-03 (金) 23:19:56)
クラスをパッケージ(名前空間)にまとめる
目的
BarClassとBazClassという2つのクラスをFooPackageにまとめる。
ファイル構造
- index.html
- FooPackage.BarClass.js
- FooPackage.BazClass.js
FooPackage.BarClass.js
var FooPackage = FooPackage || {}; (function(FooPackage) { var BarClass = (function() { function BarClass(mesg) { this.mesg = mesg; } BarClass.prototype.getMesg = function() { return this.mesg; }; BarClass.prototype.getBazMesg = function() { var baz = new FooPackage.BazClass("DEBUG: Foo::Baz From Bar"); return baz.getMesg(); }; return BarClass; })(); FooPackage.BarClass = BarClass; })(FooPackage);
FooPackage.BazClass.js
var FooPackage = FooPackage || {}; (function(FooPackage) { var BazClass = (function() { function BazClass(mesg) { this.mesg = mesg; } BazClass.prototype.getMesg = function() { return this.mesg; }; return BazClass; })(); FooPackage.BazClass = BazClass; })(FooPackage);
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <script src="FooPackage.BarClass.js"></script> <script src="FooPackage.BazClass.js"></script> <script> var bar = new FooPackage.BarClass("DEBUG: Foo::Bar"); var baz = new FooPackage.BazClass("DEBUG: Foo::Baz"); console.log(bar.getMesg()); console.log(baz.getMesg()); console.log(bar.getBazMesg()); </script> </head> <body> <h1>JS</h1> </body> </html>