2013-05-28 43 views
3

我想知道何時在瀏覽器環境中使用JavaScripts math.random方法播種。當Javascript math.random方法播種

它是:

A)當計算機上

乙切換)當啓動瀏覽器首次上的會話

C)每次啓動瀏覽器

D)當第一次打開包含math.random的JS代碼的頁面時

E)每當頁面存在時進不去math.random打開

F)當math.random()方法被稱爲首次

G)其他

+0

從現在開始播種,它有什麼不同?你不能使用A,B D或F之間的差異。 –

+1

事實上,JS的Math.random是唯一的隨機庫,我知道不讓你設置種子,這是非常不幸的。 –

+0

@dystroy它是很長的解釋和我的英語不夠準確,但它的答案可能對我有用。謝謝 – user2426433

回答

1

ECMAScript

返回與正符號的數值,大於或等於0 但小於1,隨機或僞隨機選擇,其中約 均勻分佈在該範圍內,使用 實現相關算法或策略

所以,這取決於瀏覽器。

由於它沒有任何實際差別(只要當你的網頁運行不去籽),因爲種子本身kindof隨機(通常基於的播種時間時間戳),瀏覽器資料的主要稀疏但是here's what Internet Explorer's one says

當JavaScript是 第一次加載的隨機數發生器被自動接種。

由於大部分其他的策略將導致潛在的錯誤,我想你可以假設不會有第一次調用Math.random和瀏覽器閉合之間的任何新播種。

+0

良好的信息。那麼,你認爲當你關閉de瀏覽器並再次打開時,JS會再次加載並且math.random再次播種?您是否有Chrome和Firefox math.random規範的鏈接?謝謝你的幫助。 – user2426433

+0

種子本身是「隨機的」,僞生成器沒有打開,所以它怎麼可能改變你的任何東西?關於Firefox,他們說這是基於時間戳的,但不提供細節,他們不應該提供細節。 –