- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 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>