我似乎無法理解這個循環。這個JavaScript隨機數生成器是如何工作的?
for (i = 1; i < 50; i++) {
rand = Math.ceil(Math.random() * 49);
temp = nums[i];
nums[i] = nums[rand];
nums[rand] = temp;
}
它是較大代碼的一部分。 nums[i]
是一個由1-49組成的數組,填充其相應的索引號,然後通過for
循環運行並填充隨機數。
我不明白爲什麼會創建臨時變量,nums[rand]=temp;
代碼行的工作方式以及它的作用,以及爲什麼在沒有var
關鍵字的情況下甚至不初始化。
有人可以解釋這個循環是如何工作的嗎?
無論解決方案如何,這是[naïverandom sort](http://www.codinghorror.com/blog/2007/12/the-danger-of-naivete.html),實際上並不是隨機的如你所想。 – Gareth 2012-07-09 09:30:39
閱讀關於var vs no var - > http://stackoverflow.com/questions/1470488/difference-between-using-var-and-not-using-var-in-javascript – ManseUK 2012-07-09 09:31:38