下面有這對於模塊中創建命名空間中的劇本,我無法理解parent = parent[parts[i]]
後是如何工作的,它是如何創建嵌套?有什麼建議麼?JavaScript函數創建命名空間
var MYAPP = MYAPP || {};
MYAPP.namespace = function (ns_string) {
var parts = ns_string.split('.'),
parent = MYAPP,
i;
if (parts[0] === "MYAPP") {
parts = parts.slice(1);
}
for (i = 0; i < parts.length; i += 1) {
// create property if doesn't exist
if (typeof parent[parts[i]] === "undefined") {
parent[parts[i]] = {};
}
parent = parent[parts[i]];
}
return parent;
};
var module2 = MYAPP.namespace('MYAPP.modules.module2');
module2 === MYAPP.modules.module2; // true
那項任務,以「模塊2」看起來很亂。 – Pointy
的'「MYAPP」'比較,以及 - 你確定這是工作的代碼? – pimvdb
糾正!現在的作品 –