模組範例
by 蘇德宙, 2012-06-06 21:39, 人氣(1545)
利用以下特性,建立模組的範例 (p100 @ JavaScript Pattern)
1. 命名空間 namespace
2. 立即函式
3. private (closure)
4. 宣告相依性
if (typeof FS.lib.array === 'undefined') {
// 一般 lib 開發會很嚴謹,尤其是同一家公司,應該不會不小心被覆蓋,所以可以省略檢查
FS.namespace('FS.lib.array');FS.lib.array = (function() {
// 宣告相依性
var uobj = FS.lib.object,
ulang = FS.lib.lang,
// private 屬性
_str = "...";
// init
// public API
return {
inArray: function() { ... },
isArray: funciton() { ... }
}());
}
將 private 變成 public,物件完成後,決定開放那些 API
FS.lib.array = (function() {
// 宣告相依性
var uobj = FS.lib.object,
ulang = FS.lib.lang,
// private 屬性
_str = "...";
// init
// private method
inArray = function() { ... }
isArray = fucction() { ... }
// set public API
return {
inArray: inArray,
isArray: isArray
}());