これは私が得るのコードですが、私はこの2行を知らないの意味:誰にでもこの2行の意味を教えていただけますか?
o[arr[i]] = o[arr[i]] || {};
o = o[arr[i]];
誰が私を伝えることができますか? 1と自分自身を上書きし、
o = o[arr[i]];
二組のネストされたオブジェクトo
そのキーarr[i]
へ:
この:
o[arr[i]] = 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 || 2番目のものはループのためのものです(再帰として考える) –