都說(shuō)人生如戲,全靠演技。可這演技再好,也敵不過(guò)JS生成隨機(jī)數(shù)的那份“出其不意”。啊,是的,你沒(méi)聽錯(cuò),就是那份“驚喜”!今天,就讓我這個(gè)“杠精”來(lái)給大家揭秘這個(gè)“謎一樣”的JS生成隨機(jī)數(shù)。
1. 隨機(jī)?別逗了!
隨機(jī)數(shù),哦,多么高大上的名詞!可實(shí)際上,它不過(guò)是程序猿們?yōu)榱私鉀Q“選擇困難癥”而發(fā)明的一個(gè)玩意兒。別逗了,這世上哪有什么真正的隨機(jī)?你品,你細(xì)品,是不是這個(gè)理?
2. JS生成隨機(jī)數(shù),一場(chǎng)“鬧劇”
JS生成隨機(jī)數(shù)的原理,大致就是根據(jù)某個(gè)種子值,通過(guò)一系列復(fù)雜的運(yùn)算,得出一個(gè)看似隨機(jī)的數(shù)。然而,這個(gè)過(guò)程,說(shuō)得好聽點(diǎn)是“偽隨機(jī)”,說(shuō)得難聽點(diǎn),不就是“鬧劇”一場(chǎng)?
2.1 Math.random()
來(lái),我們先看看JS中最常用的生成隨機(jī)數(shù)的方法:Math.random()。這貨號(hào)稱能生成[0, 1)之間的隨機(jī)數(shù)??蓪?shí)際上,它有多“靠譜”呢?