题目描述
根据包名,在指定空间中创建对象
1 function namespace(oNamespace, sPackage) {
2 var arr = sPackage.split('.');
3 var res = oNamespace; //保留对原对象的引用
4 for(var i= 0 ,len=arr.length; i<len ;i++){
5 if(arr[i] in oNamespace){ //空间名在对象中
6 if(typeof oNamespace[arr[i]] !== "object"){ //属性不为对象
7 oNamespace[arr[i]] = {} ;//将此属性设为空对象
8 }
9 }
10 else{
11 oNamespace[arr[i]] = {}; //空间名不在对象中,且将此属性设为空对象
12 }
13 oNamespace = oNamespace[arr[i]]; //将指针指向下一个空间名属性
14 }
15 return res;
16 }