JavaScript 名前空間 2
昨日のはこれ。
2008/10/24 javascript 名前空間
evalを使い過ぎて重すぎたので改良。evalは一回になった。まぁ、実用に堪えられると思う。
以下コードとソース。
2008/10/24 javascript 名前空間
evalを使い過ぎて重すぎたので改良。evalは一回になった。まぁ、実用に堪えられると思う。
以下コードとソース。
function Namespaced(packagedObjectName, obj){http://chrhsmt.com/js/namespace.js
var DOT = '.';
var EXPRESSION_TEMPLATE =
"if(!tmp){tmp={};}else if(typeof(tmp)!='object'){throw new Error('Namespace error');}";
var ns = packagedObjectName.split(DOT);
var here = 'window';
var expression = '';
obj == null ? obj = {} : void(0);
//評価式文構築
for (var i = 0, l = ns.length; i < l; i++){
var tmp = here + DOT + ns[i];
expression += EXPRESSION_TEMPLATE.replace(/tmp/g, tmp);
here = tmp;
}
//オブジェクト代入式
expression += here + ' = obj;';
//評価
eval(expression);
}
トラックバック(0)
このブログ記事を参照しているブログ一覧: JavaScript 名前空間 2
このブログ記事に対するトラックバックURL:

コメントする