Terry
06-17-2003, 04:24 AM
Hi,
As far as speed goes which version of the following code would be faster... this is part of a larger program I'm working on and I was wondering if it makes any difference to cache a reference to an array object:
function initDiceImages()
{
var iDice = new Array(),i = 1;
if(document.images)
{
for(i; i < 7; i++)
{
iDice[i] = new Image(56,56);
iDice[i].src = "images/d" + i + ".gif";
}
iDice[0] = new Image(56,56);
iDice[0].src = "images/empty.gif";
iDice['heldOff'] = new Image(56,14);
iDice['heldOff'].src = "images/heldOff.gif";
iDice['heldOn'] = new Image(56,14);
iDice['heldOn'].src = "images/heldOn.gif";
iDice['rOff'] = new Image(340,29);
iDice['rOff'].src = "images/RollDice.gif";
iDice['rClick'] = new Image(340,29);
iDice['rClick'].src = "images/RollDiceClick.gif";
}
return iDice;
}
or...
function initDiceImages()
{
var iDice = new Array(), d = iDice,i=1;
if(document.images)
{
for(i; i < 7; i++)
{
d[i] = new Image(56,56);
d[i].src = "images/d" + i + ".gif";
}
d[0] = new Image(56,56);
d[0].src = "images/empty.gif";
d['heldOff'] = new Image(56,14);
d['heldOff'].src = "images/heldOff.gif";
d['heldOn'] = new Image(56,14);
d['heldOn'].src = "images/heldOn.gif";
d['rOff'] = new Image(340,29);
d['rOff'].src = "images/RollDice.gif";
d['rClick'] = new Image(340,29);
d['rClick'].src = "images/RollDiceClick.gif";
}
return d;
}
Doesn't the former have to evaluate the array reference every time I assign a value to an index?
Terry
As far as speed goes which version of the following code would be faster... this is part of a larger program I'm working on and I was wondering if it makes any difference to cache a reference to an array object:
function initDiceImages()
{
var iDice = new Array(),i = 1;
if(document.images)
{
for(i; i < 7; i++)
{
iDice[i] = new Image(56,56);
iDice[i].src = "images/d" + i + ".gif";
}
iDice[0] = new Image(56,56);
iDice[0].src = "images/empty.gif";
iDice['heldOff'] = new Image(56,14);
iDice['heldOff'].src = "images/heldOff.gif";
iDice['heldOn'] = new Image(56,14);
iDice['heldOn'].src = "images/heldOn.gif";
iDice['rOff'] = new Image(340,29);
iDice['rOff'].src = "images/RollDice.gif";
iDice['rClick'] = new Image(340,29);
iDice['rClick'].src = "images/RollDiceClick.gif";
}
return iDice;
}
or...
function initDiceImages()
{
var iDice = new Array(), d = iDice,i=1;
if(document.images)
{
for(i; i < 7; i++)
{
d[i] = new Image(56,56);
d[i].src = "images/d" + i + ".gif";
}
d[0] = new Image(56,56);
d[0].src = "images/empty.gif";
d['heldOff'] = new Image(56,14);
d['heldOff'].src = "images/heldOff.gif";
d['heldOn'] = new Image(56,14);
d['heldOn'].src = "images/heldOn.gif";
d['rOff'] = new Image(340,29);
d['rOff'].src = "images/RollDice.gif";
d['rClick'] = new Image(340,29);
d['rClick'].src = "images/RollDiceClick.gif";
}
return d;
}
Doesn't the former have to evaluate the array reference every time I assign a value to an index?
Terry