前端小白突然想到个问题,想请教一下各位 dalao, JavaScript 中的 Math.random()是如何实现随机数的?用了这么久,好像只知其然,而不知其所以然

Xusually:每个浏览器的实现不一样,比如 Chrome V8 的实现:
// ECMA 262 - 15.8.2.14
var rngstate; // Initialized to a Uint32Array during genesis.
function MathRandom() {
var r0 = (MathImul(18030, rngstate[0] & 0xFFFF) + (rngstate[0] >>> 16)) | 0;
rngstate[0] = r0;
var r1 = (MathImul(36969, rngstate[1] & 0xFFFF) + (rngstate[1] >>> 16)) | 0;
rngstate[1] = r1;
var x = ((r0 << 16) + (r1 & 0xFFFF)) | 0;
// Division by 0x100000000 through multiplication by reciprocal.
return (x < 0 ? (x + 0x100000000) : x) * 2.3283064365386962890625e-10;
}

https://github.com/v8/v8/blob/dae6dfe08ba9810abbe7eee81f7c58e999ae8525/src/math.js#L144

godblessumilk:不安全的,基本都属于伪随机数

Javascript 一句话获得农历

est:今天看到有人说 Intl 这个 ECMAscript 内置对象,就翻了一下,发现可以一句话算农历。 new Date().toLocaleString('zh-CN-u-ca-chinese').replace(/(\d+)年 /, (_,y)=>"甲乙丙丁戊己庚辛壬癸".charAt((y-4)%10) + "子丑寅卯辰巳午未申酉戌亥".ch…

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

JavaScript 事件循环与主代码关系

KyL:例子: <script type="text/javascript"> $.ajax('url', function(data) { console.info('callback'); }); //do something console.info('done'); </script> 如果注释的 do something 占…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…

Javascript:为什么“.deletebutton”的点击事件未触发 - javascript

这是我的代码: ojit_pre 但是当我按下“ a.deletebutton”时,没有确认对话框出现。它只是继续并从数据库中删除我的数据。似乎“ a.deletebutton”的javascript click事件不起作用。任何想法吗? 参考方案 因为它是动态生成的..您需要将事件委托给它$('body').delegate('…