这是代码我得到的,但我不知道这两条线是指:有人能告诉我这两行意味着什么吗?
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 ||值',第二个只是为循环(认为它是递归) –