简体   繁体   中英

Best practice of big javascript objects

sry for this imprecise topic name.

I am querying a dataset a lot of times so using ajax request would end up in tons of http requests.

For this reason I decided to use the json encode method to store this particular data set in my javascript code.

My php code looks like this: (no json.parse)

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

Now here is my question: Which of the following approaches is better?

a)

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

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

b)

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

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

Is there any difference in memory or cpu consumption?

Thanks

Jan

The first method (a) is the fastest. In some situations using the . syntax can be faster, ie myDataset.a is faster than myDataset['a'] which is way faster than function(a){return myDataset[a];} . Using functions is very rarely fast. In (b) you do exactly the same as in (a), but you have another function call, and that will add a new closure to the heap, which takes up space and time.

A function only unnecessarily adds extra overhead. If the data is just to be accessed in flavor of object properties, then I'd go for way a).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM