Javascript: Passing large objects or strings between function considered a bad practice -


is considered bad practice pass around large string or object (lets ajax response) between functions? beneficial in way save response in variable , keep reusing variable?

so in code this:

var response;  $.post(url, function(resp){    response = resp; })  function dosomething() {   // response here } 

vs

$.post(url, function(resp){    dosomething(resp); })  function dosomething(resp) {   // resp here } 

assume resp large object or string , can passed around between multiple functions.

objects , strings in javascript passed reference. (technically value of reference, means reassigning = variable inside function won't affect variable outside function, that's besides point question.)

that means not expensive pass them functions because no copy made. passed function pointer original object , efficient.


you need realize first scheme not work properly:

var response;  $.post(url, function(resp){    response = resp; })  function dosomething() {   // response here } 

because of timing of things, don't know when call dosomething(). $.post() show asynchronous , have no idea when done. resp value in code must used completion function. must either use in completion function or call completion function , pass resp (like second example). timing correct when data available.


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -