YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* クラスをパッケージ(名前空間)にまとめる [#we360167]
** 目的 [#iaf1fd16]
BarClassとBazClassという2つのクラスをFooPackageにまとめる。
** ファイル構造 [#f77d05f9]
- index.html
- FooPackage.BarClass.js
- FooPackage.BazClass.js
** ソースコード [#b75ee09a]
*** FooPackage.BarClass.js [#ta77e181]
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: Fo...
return baz.getMesg();
};
return BarClass;
})();
FooPackage.BarClass = BarClass;
})(FooPackage);
*** FooPackage.BazClass.js [#z1a15793]
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 [#k529fffa]
<!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の実行結果 [#x9625c51]
DEBUG: Foo::Bar
DEBUG: Foo::Baz
DEBUG: Foo::Baz From Bar
** サブパッケージを作成する [#mf29cc91]
BarClassをサブパッケージにまとめる場合は、上のコードを以...
FooPackage.SubPackage = FooPackage.SubPackage || {};
FooPackage.SubPackage.BarClass = BarClass;
終了行:
* クラスをパッケージ(名前空間)にまとめる [#we360167]
** 目的 [#iaf1fd16]
BarClassとBazClassという2つのクラスをFooPackageにまとめる。
** ファイル構造 [#f77d05f9]
- index.html
- FooPackage.BarClass.js
- FooPackage.BazClass.js
** ソースコード [#b75ee09a]
*** FooPackage.BarClass.js [#ta77e181]
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: Fo...
return baz.getMesg();
};
return BarClass;
})();
FooPackage.BarClass = BarClass;
})(FooPackage);
*** FooPackage.BazClass.js [#z1a15793]
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 [#k529fffa]
<!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の実行結果 [#x9625c51]
DEBUG: Foo::Bar
DEBUG: Foo::Baz
DEBUG: Foo::Baz From Bar
** サブパッケージを作成する [#mf29cc91]
BarClassをサブパッケージにまとめる場合は、上のコードを以...
FooPackage.SubPackage = FooPackage.SubPackage || {};
FooPackage.SubPackage.BarClass = BarClass;
ページ名: