var obj=context || d.global; for(var i=0, p; obj && (p=parts[i]); i++){ if(i == 0 && this._scopeMap[p]){ p = this._scopeMap[p]; } obj = (p in obj ? obj[p] : (create ? obj[p]={} : undefined)); } return obj; // mixed