2009-11-09 2 views
0

이 부정확 한 주제 이름을 사용합니다.큰 자바 스크립트 객체의 모범 사례

아약스 요청을 사용하면 많은 HTTP 요청이 발생하므로 데이터 집합을 여러 번 쿼리하고 있습니다.

이 이유 때문에 json 인코딩 방법을 사용하여 자바 스크립트 코드에이 특정 데이터 세트를 저장하기로 결정했습니다. 여기에 지금 (더 json.parse)

echo 'var myDataset = ' . json_encode($myDataset) . ';' ; 

내 질문 :

내 PHP 코드는 다음과 같습니다되지 다음 방법 중 더 낫다는?

a)

var myDataset = { '1' : { ... } , ... }; 

console.log (myDataset['1']); 

b)

var myDataset = function(id){ return ({ ... })[id] }; 

console.log (myDataset('1')); 

메모리 또는 CPU 소비 차이가 있습니까?

감사

+0

구체적으로 두 가지 옵션은 무엇입니까? –

+0

첫 번째 방법은 명명 된 배열을 사용하는 것이고 두 번째 방법은 다른 범위의 익명 배열을 사용하는 것입니다. – jantimon

답변

4

첫 번째 방법 (a)이 가장 빠릅니다. 일부 상황에서는. 구문이 더 빠를 수 있습니다. 즉, 보다 빠른 myDataset['a']보다 myDataset.a이 빠릅니다. 기능을 사용하는 것은 매우 드물다. (b)에서는 (a)에서와 똑같은 일을하지만 함수 호출이 또있다. 그러면 힙에 공간과 시간을 차지하는 새로운 클로저가 추가 될 것이다.

+0

숫자 키와 함께 도트 구문을 사용할 수 없습니다. myDataset.1이 실패하면 myDataset [1] 또는 [ '1']이어야합니다. – JAL

+0

바로 당신입니다 :) 고정. – Marius

2

함수는 불필요하게 추가 오버 헤드를 추가합니다. 데이터가 단지 객체 속성의 향미에 액세스되어야한다면, 나는 길을 갈 것입니다.

관련 문제