草庐IT

max_number

全部标签

javascript - Angular2 setTimeout 返回 ZoneTask 而不是 "Number"

尝试在angular2中使用setTimeout,我想稍后清除超时。但是Angular2返回的是“ZoneTask”而不是数字constructor(){this.name='Angular2'this.timeoutId=setTimeout(()=>{console.log('hello');},2000);console.log("timeoutID---",this.timeoutId);//Output-ZoneTask{_zone:Zone,runCount:0,_zoneDelegates:Array[1],_state:"scheduled",type:"macroTa

javascript - 为什么 new Number(2) != new String ("2") 在 JavaScript 中

以下评估为true:newNumber(2)==2newString("2")=="2"很明显,但请执行以下操作:"2"==2newNumber(2)=="2"newString("2")==2那么有人可以清楚地解释为什么他下面的评估是false吗?newNumber(2)==newString("2") 最佳答案 因为JavaScript具有数字和字符串(和bool值)的原始和对象版本。newNumber和newString创建object版本,当您将==与对象引用一起使用时,您比较对象引用,而不是值。newString(x)和S

javascript - 防止 JavaScript Number 函数舍入大数字

我有一个字符串值“9223372036854775807”。我在JavaScript中使用Number()函数,使用以下代码将其转换为数字值varnumericVal=Number('9223372036854775807');当我检查numericVal中的值时,它是9223372036854776000。我怎样才能得到代表数字的字符串的等效值? 最佳答案 JavaScript数字是DoublePrecisionFloats;可以精确存储的最大整数是2^53(9007199254740992)。如果你真的需要它的数字,你有一些有趣

javascript - Math.E 等于 0.99.... ^ max int

一位friend向我展示了(至少在googlechrome控制台中)以下语句打印为真:1/Math.pow(0.9999999999999999,Number.MAX_SAFE_INTEGER)===Math.E事实上,1/Math.pow(0.9999999999999999,Number.MAX_SAFE_INTEGER)是2.718281828459045。这不会是巧合吧?!有人能解释一下幕后发生了什么吗?根据wolframalpha,正确的值应该大约为1/0.40628,大约为2.4613566998129373--与Math.E相去甚远。(我假设wolframalpha的计算

javascript - 早于 9 的 IE 版本引发错误 "Expected identifier, string or number”

这个knockout2.1绑定(bind)表达式在Firefox和IE9下工作正常,但在IE9兼容模式下崩溃并出现错误“Expectedidentifier,stringornumber”:我在调试器下找到了实际位置,就是这行代码(knockout-2.1.0.debug.js):returnnewFunction("sc",functionBody)functionBody是一个等于上述表达式的字符串。我尝试使用空格和回车符-没有任何帮助,结果相同:它可以在IE9兼容模式以外的任何浏览器上正常工作有什么建议吗? 最佳答案 我认为问

javascript - 我如何将 Math.max 与对象数组一起使用?

我想选择对象数组中最大的数字,因此,例如,我想获取包含最大数字的x属性(在此示例中,maximum应为200):varmyArr=[{x:100,y:200},{x:200,y:500}];//doesnotwork:varmaximum=Math.max.apply(Math,myArr.x); 最佳答案 您必须自己从对象中提取属性:varmaximum=Math.max.apply(Math,myArr.map(function(o){returno.x;}));它使用.map()遍历数组的元素并返回“x”属性的值。然后将该结果

javascript - Chart.js 时间刻度 : set min and max on xAxes

如何在xAxes上设置最小值和最大值?它在yAxes上工作正常,但在xAxes上它没有显示任何行为。我的xAxes使用的是type:'time'。我的xAxis标签也使用了moment对象。但是当我删除类型时间并使用普通数字时它也不起作用。我使用的是Chart.js版本2.2.2。scales:{yAxes:[{ticks:{beginAtZero:false,}}],xAxes:[{type:'time',ticks:{min:moment(1471174953000),max:moment(1473853353000)}}]}Hereisthechart.jsTimeScaledo

javascript - 如何将 math.max 缩减为对象数组

我有一个对象数组。我想从数组的数字属性中获取最大值:[{number:1000,name:"Josh"},{number:2000,name:"Joker"},{number:3000,name:"Batman"}]我正在使用此解决方案,但我一直收到NAN:constmax=arr.reduce((a,b)=>Math.max(a.number,b.number));我的目标是获取最大值,然后将其存储在变量中constx={number:3000,name:"Batman"}我如何通过reduce实现它?它似乎只适用于数字数组。 最佳答案

javascript - 为什么 typeof NaN 返回 'number' ?

只是出于好奇。typeofNaN是数字似乎不太符合逻辑。顺便说一下,就像NaN===NaN或NaN==NaN返回false一样。这是JavaScript的特性之一,还是有原因?编辑:感谢您的回答。不过,要让人们头脑清醒并不是一件容易的事。看了答案和wiki我明白了更多,但还是,像这样的一句话AcomparisonwithaNaNalwaysreturnsanunorderedresultevenwhencomparingwithitself.Thecomparisonpredicatesareeithersignalingornon-signaling,thesignalingvers

javascript - 单元测试 : Number. toLocaleString()

我本以为(10000).toLocaleString('de-DE')会返回"10.000"但我却得到了"10000".是否有不支持的原因?有没有更好的方法来格式化数字? 最佳答案 这是一个webkit问题,PhantomJS不想保持国际化......所以不幸的是我们在一段时间内一直坚持这个问题。https://github.com/ariya/phantomjs/issues/12581我最终做的是编写一个自定义匹配器来检查两者,因为我在Chrome和PhantomJS中运行。jasmine.addMatchers({isAnyO