Лучшая практика больших объектов JavaScript - PullRequest
0 голосов
/ 09 ноября 2009

извините за это неточное название темы.

Я часто запрашиваю набор данных, поэтому использование ajax-запроса приведет к множеству http-запросов.

По этой причине я решил использовать метод кодирования json для сохранения этого конкретного набора данных в моем коде javascript.

Мой php-код выглядит так: (без json.parse)

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

Теперь вот мой вопрос: какой из следующих подходов лучше?

а)

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

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

б)

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

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

Есть ли разница в потреблении памяти или процессора?

Спасибо

Jan

Ответы [ 2 ]

4 голосов
/ 09 ноября 2009

Первый способ (а) самый быстрый. В некоторых ситуациях используется. синтаксис может быть быстрее, то есть myDataset.a быстрее, чем myDataset['a'], что намного быстрее, чем function(a){return myDataset[a];}. Использование функций очень редко быстро. В (б) вы делаете то же самое, что и в (а), но у вас есть другой вызов функции, и это добавит новое замыкание в кучу, которое занимает пространство и время.

2 голосов
/ 09 ноября 2009

Функция только излишне добавляет дополнительные издержки. Если к данным нужно просто получить доступ к свойствам объекта, я бы пошел по пути а).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...