Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
;
/*
*
* MyClass
*
*/
(function (mod) {
if (typeof exports === "object") {
// browserify ( commonJS )
var modules = {};
module.exports = mod(modules);
} else {
// script tag
window.MyNameSpace = window.MyNameSpace ? window.MyNameSpace : {};
var modules = {};
window.MyNameSpace.MyClass = mod(modules);
}
})(function (modules) {
/**
* MyClass
* @constructor
*/
function MyClass() {
var hoge = 'hogehoge';
/**
*
*/
var initialize = function () {
fuga();
};
/**
*
*/
var fuga = function () {
console.log('fuga hoge = ' + hoge);
};
/**
*
*/
var mogu = function () {
console.log('mogu hoge = ' + hoge);
};
/*
public
*/
this.mogu = mogu;
/*
run
*/
initialize();
}
return MyClass; // return this module
});
;
window.MyNameSpace = window.MyNameSpace || {};
(function(){
/**
* MyClass
* @constructor
*/
function MyClass2() {
var hoge = 'hogehoge';
/**
*
*/
var initialize = function () {
fuga();
};
/**
*
*/
var fuga = function () {
console.log('fuga hoge = ' + hoge);
};
/**
*
*/
var mogu = function () {
console.log('mogu hoge = ' + hoge);
};
/*
public
*/
this.mogu = mogu;
/*
run
*/
initialize();
}
MyNameSpace.MyClass2 = MyClass2;
})();
// range2.js: 値の範囲を表すクラス。
// 新しい Range オブジェクトを初期化するコンストラクタ関数。
// オブジェクトを生成したり返したりせず、thisを初期化しているだけ。
function Range(from, to) {
// 新しい Range オブジェクトの始端と終端を保存する。
// この 2 つのプロパティは継承したものではない。オブジェクトに一意なもの。
this.from = from;
this.to = to;
}
// 全 Range オブジェクトが、このオブジェクトを継承する。
// この例の場合は、プロパティ名は "prototype" でなければならない。
Range.prototype = {
// x が範囲内であれば true を返し、範囲外であれば false を返す。
// このメソッドは数値だけでなく、文字列や Date オブジェクトでも動作する。
includes: function (x) {
return this.from <= x && x <= this.to;
},
// 範囲中に含まれる整数ごとに、一度ずつ f を呼び出す。
// このメソッドは数値に対してしか動作しない。
foreach: function (f) {
for (var x = Math.ceil(this.from); x <= this.to; x++) f(x);
},
// Rangeオブジェクトの文字列表現を返す。
toString: function () {
return "(" + this.from + "..." + this.to + ")";
}
};
// Rangeオブジェクトの使用例。
var r = new Range(1, 3); // 新しい Range オブジェクトを生成する。
r.includes(2); // => true: 2は範囲内。
r.foreach(console.log); // 1 2 3を出力する。
console.log(r); // (1...3)を出力する。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment