원본 이름에 대한 역 참조를 포함하는 래퍼 개체를 생성 할 수 있습니다.
function MyApiClient()
{
var _self = this;
this.RegisterWrapper = function(strName, objValue, explicitName)
{
var newName = (explicitName != null) ? explicitName : '_' + strName.replace(/\W/g, '');
_self[newName] = {ApiName : strName, Value : objValue};
return _self[newName];
}
}
//implementation
var client = new MyApiClient();
client.RegisterWrapper('5story', [0,1,2,3,4,5]);
console.log(client._5story.Value); //output: Array() [0,1,2,3,4,5];
//or
var o = client.RegisterWrapper('5story', {a:'b'}, '_myName');
console.log(o.Value); //outpus Object a: 'b'
console.log(client._myName.Value); //outpus Object a: 'b'
이것은 몇 가지 추가 혜택
- 범위를 확장 : 새로운가 캡슐화됩니다 객체가 아닌 전역
- 을 만들 때 참조 :이 객체에 대한 참조가있는 경우 - API를 사용할 수 있습니다 (이전 이름이 포함되어 있기 때문에).
- 유연성 : api에서 반환 된 문자열을 구문 분석하거나 위에서 명시 적 으로처럼 루프를 통해 동적으로 래퍼를 등록 할 수 있습니다.
실제 API에 대한 추가 정보가 있습니까?
사용자가 preg_replace하고 제거 할 수 있습니까? – Steven