mentalist Posted September 2, 2013 Share Posted September 2, 2013 Hi, I have a class object which needs to draw itself to a canvas and it needs to know which image to draw from. There are various ways I could do this, but... If when I create the object I pass the image to it, is that a copy of that image or just a reference to it? Here's a simplified scenario for example: var tileSheet=new Image();tileSheet.src="myImg.png";...var o = new dyn_char();Should I then do this:o.img = tileSheet;o.draw();or this: o.draw(img);Which is the more memory efficient way? Quote Link to comment Share on other sites More sharing options...
Solution kicken Posted September 2, 2013 Solution Share Posted September 2, 2013 In JS, everything except the basic types (string, bool, number) are passed as references. There is no significant difference between the two options you presented. Quote Link to comment Share on other sites More sharing options...
Andy-H Posted September 3, 2013 Share Posted September 3, 2013 I would use the o.draw(img); example, simply because the interface doesn't limit you to only drawing one image to your 'tileSheet', i.e. you may in future need to draw 4 images. As for memory footprint, I would assume no to little difference as the same amount of objects are created in the same scope. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.