function namespace(oNamespace, sPackage) {
//包名用.分割形成名为keys的数组
let keys = sPackage.split('.')
//对数组使用高阶函数reduce
//用法 [].reduce((先前的返回值,当前item的值)=>{return },pre初始值)
keys.reduce((pre, cur) => {
//判断oNamespace['a']是否为object类型
if (typeof pre[cur] != 'object') {
//不是,就给个空对象\n pre[cur]={};
}
//是,那就返回出去,充当下次的pre值
return pre[cur] //{test: 1, b: 2}
// pre cur pre[cur]
// {a: {test: 1, b: 2}} a {test: 1, b: 2}
}, oNamespace)
return oNamespace
}
京公网安备 11010502036488号