我的比较容易看懂哦

function namespace(oNamespace, sPackage) {
const keys = sPackage.split('.')
let i = 0, temp = oNamespace
do {
	const key = keys[i++]
	// 属性是对象则直接赋值,否则把属性赋值为空对象并赋值给temp(2次赋值才能保证最终是个嵌套对象)
	temp = Object.prototype.toString.call(temp[key]) === '[object Object]' ? temp[key] : temp[key] = {}
} while (i < keys.length)
	return oNamespace
}