草庐IT

date-math

全部标签

javascript - 在使用 `Math.random()` 时,我是否应该考虑 2^62 中有 1 种可能性获得排除的上限?

来自MDN(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random):Math.randomReturnsafloating-point,pseudo-randomnumberintherange[0,1)thatis,from0(inclusive)uptobutnotincluding1(exclusive),whichyoucanthenscaletoyourdesiredrange.但是,它说:NotethatasnumbersinJavaScriptare

javascript - 为什么 1 * new Date() 而不是 GA 片段中的 new Date().getTime()?

我正在插入GAsnippet在我的TypeScript代码中看到这个:i[r].l=1*newDate();TypeScript编译器提示newDate()必须是数字或任何,但不是日期。我把这个变成了这个:i[r]['l']=newDate().getTime();这导致相同的结果。如果优先考虑的是减小尺寸,那么我发现这更紧凑,结果相同:i[r]['l']=+newDate();我不知道为什么使用带有隐式转换的智能变体。是否有什么我不明白的隐藏内容,或者只是人们想要看起来更聪明?是为了缩短长度吗? 最佳答案 Isthereanyth

javascript - Math.random() 什么时候开始重复?

我在nodejs中进行了这个简单的测试,我让它运行了一夜,无法让Math.random()重复。我意识到这些值(甚至整个序列)迟早会重复,但对于何时发生是否有任何合理的预期?letv={};for(leti=0;;i++){letr=Math.random();if(rinv)break;v[r]=r;}console.log(i); 最佳答案 它是特定于浏览器的:https://www.ecma-international.org/ecma-262/6.0/#sec-math.random20.2.2.27Math.random(

javascript - 为什么 Math.prototype 未定义?

我一定是遗漏了什么,因为Math.prototype是undefinedforme.为什么是这样?我试图做这样的事情:Math.prototype.randomRange=function(from,to){returnMath.floor(Math.random()*(to-from+1)+from);}而是不得不做这样的事情:Math.randomRange=function(from,to){returnMath.floor(Math.random()*(to-from+1)+from);}不过,这感觉不对。只是我还是我应该以另一种方式这样做?如果这是一个愚蠢或重复的问题,我深表

javascript - 使用 JS Date 对象以毫秒为单位获取当前时间的最快最轻的方法

使用Date对象获取当前时间(以毫秒为单位)有多种不同的方法:(newDate()).getTime();+newDate();Date.now();假设您不需要创建对象,只需要一个以毫秒为单位的当前时间,哪一个最有效?在性能方面。编辑:我知道大多数开发者不会关心这个,但当你在低技术含量的嵌入式环境中工作或者只是为了扼杀好奇心时,这可能很重要。 最佳答案 Date.now()获胜。参见jsperf.comtest但正如上面的评论所述,与您将要执行的任何其他操作相比,CPU成本可能没有什么意义。@techfoobar提到分配Date对

javascript - Javascript Math.max 和 Math.min 实际上是如何工作的?

我真的很好奇这些功能究竟是如何工作的?我知道有很多关于如何使用这些的问题,我已经知道如何使用它们,但是我无法在任何地方找到如何在数组上实际实现这个功能,例如,如果没有这样的功能?如果没有助手,您将如何编写这样的函数? 最佳答案 这是ChromeV8引擎中的Math.max代码。functionMathMax(arg1,arg2){//length==2varlength=%_ArgumentsLength();if(length==2){arg1=TO_NUMBER(arg1);arg2=TO_NUMBER(arg2);if(arg

Javascript Math.floor 函数失误还是实现之谜?

​document.writeln(Math.floor(43.9));在浏览器中生成43。​document.writeln(Math.floor(43.9999));​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​产生43​document.writeln(Math.floor(43.999999999999));​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​又是43但是,document.writeln(Math.floor(43.99999999999999));产生44。小数点后9的魔数(MagicNumber)好

javascript - 如何将 Date.now() 的结果转换为 yyyy/MM/dd hh :mm:ss ffff?

我正在寻找类似yyyy/MM/ddhh:mm:ssffff的内容Date.now()返回总毫秒数(例如:1431308705117)。我该怎么做? 最佳答案 您可以使用Date构造函数,它需要几毫秒并将其转换为JavaScript日期:vard=newDate(Date.now());d.toString()//returns"SunMay10201519:50:08GMT-0600(MDT)"然而,实际上,执行Date(Date.now())与Date()执行相同的操作,因此您实际上只需执行以下操作:vard=newDate();

javascript - 我如何在 javascript 中使用 Math.sin() 来获得正确答案?

这个问题在这里已经有了答案:HowcanIgetsin,cos,andtantousedegreesinsteadofradians?(6个答案)关闭8年前。当我在javascript中使用Math.sin(90)计算90度的正弦时,它返回0.8939966636005565,但sin(90)为1。有没有办法解决这个问题?我需要任何Angular准确值。Clickthebuttoncalculatevalueof90degrees.TryitfunctionmyFunction(){document.getElementById("demo").innerHTML=Math.sin(9

javascript - 预测 Javascript 的 Math.random 的种子

好的,我正在研究如何使用Math.random方法生成随机数。到目前为止,我了解到它是从一个“随机”种子开始的,然后将该种子插入到一些复杂的方程式中以创建一个随机数。如果种子总是一样的,结果会不会总是一样?听说Math.random的种子是通过当前时间生成的,对吗?他们必须一直使用当前时间,精确到毫秒或其他时间,因为如果你不这样做,你会得到相同的结果。种子到底是什么?是诸如“10:45”之类的时间还是诸如“2012年11月8日10:45”之类的时间和日期,还是某种组合?如何找到种子,以便预测输出?我希望能够插入这个:alert(Math.floor((Math.random()*10)