這是代碼我得到的,但我不知道這兩條線是指:有人能告訴我這兩行意味着什麼嗎?
o[arr[i]] = o[arr[i]] || {};
o = o[arr[i]];
有誰能夠告訴我嗎?
var GLOBAL={};
GLOBAL.namespace=function(str){
var arr = str.split("."), o=GLOBAL;
for(i=(arr[0]=="GLOBAL") ? 1 : 0; i<arr.length; i++){
o[arr[i]] = o[arr[i]] || {};
o = o[arr[i]];
}
};
GLOBAL.namespace("A.Dog");
// GLOBAL.A = {};
// GLOBAL.A.Dog = {};
GLOBAL.A.Dog.name = "diudiu";
alert(GLOBAL.A.Dog.name)
第一個是經典的'x = x ||值',第二個只是爲循環(認爲它是遞歸) –