Is Javascript Namespace Polluted?
I do not have a good grasp of the js namespace and am WAGing* re the title, but that's one of my guesses about what's happening. WAG = Wild Guess My app is crashing (dramatically
Solution 1:
My guess would be
var window = {};
window is special, so creating a global variable named window is begging for trouble.
Solution 2:
Your while loop runs infinitely on the third pass because it doesn't meet the condition.
Solution 3:
At some point, arrDone will contain the numbers 1, 2, and 3, as produced by your random generator (which will never produce 5, btw). In that case, nextQues() does not abort and return five (as arrDone.lenght == 3), and will enter the loop. Your random generator produces nothing but the numbers 1, 2, and 3, which always are already in the array, so the if-condition (that would end the loop) is never fulfilled. You have an infinite loop generating random numbers.
I guess you want
function nextQues() {
var l = 4;
if (window.arrDone.length >= l)
return l+1;
while (true) {
var nn = Math.floor(Math.random() * l) + 1; // generate 1, 2, 3 or 4
if (window.arrDone.indexOf(nn) == -1) {
window.arrDone.push(nn);
return nn;
}
}
}
Post a Comment for "Is Javascript Namespace Polluted?"