クラスをパッケージ(名前空間)にまとめる目的BarClassとBazClassという2つのクラスをFooPackageにまとめる。 ファイル構造
ソースコード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>
index.htmlの実行結果DEBUG: Foo::Bar DEBUG: Foo::Baz DEBUG: Foo::Baz From Bar サブパッケージを作成するBarClassをサブパッケージにまとめる場合は、上のコードを以下のように変える。 FooPackage.SubPackage = FooPackage.SubPackage || {};
FooPackage.SubPackage.BarClass = BarClass;
|
|