(infinite?) Loop In Javascript Code
I have the following JavaScript code to 'display' XML on a website: function createChild(node,tabindex){ var child = node.childNodes; var r = ''; var tabs = '';
Solution 1:
This is why you should always declare your variables:
// declare 'i'for(var i =0; i < tabindex ; i++){
tabs +="\t";
};
If you don't declare i in the function scope, it will be global, thus interfering with the for loop in a recursive function call:
The
ivariable is set to0in the first function call.The function is calls itself.
The
ivariable is set to0.The function returns.
iis now0again, so the loop in the first frame will run forever.
So somewhere in the createChild function, you have to declare i, either before the first loop or in the first loop. You can also use let.
Post a Comment for "(infinite?) Loop In Javascript Code"