JavaScript中的parseFloat和float int有多快?
How fast is parseFloat Vs. float ints in JavaScript?
我从客户端的内部API获得了一个巨大的数据集。它将包含一堆价格的数值数据,例如:$31.23。他把它们作为{"spend":"21.23"}
给了我,这很好,但我担心在1000多个项目之后,在所有这些值上运行parseFloat()
(在绘制它们的顶部)可能会对客户端的浏览器造成资源负担。
有人这样做过吗?
= = = =
更新我很抱歉。我的问题太模糊了。我担心的是,它是一个字符串,我正在解析它。我的问题是parseFloat比int更快。例如,是否将parseFloat("12.12")
附加到div中比简单地附加12.12
更快,如果是这样,速度有多快?
在我的工作机器(Mac OS X, Intel 2 GHz Core i7)上,我在jsperf.com上看到以下结果:
Browser | parseFloat calls per second
----------------------------------------
Chrome 12 | 5.3 million
Firefox 6 | 21.7 million
IE 8 | 666.9 thousand <- totally unfair, ran on virtual machine
Opera 11 | 5.2 million
这远远不是一个详尽的调查;但是在每秒超过60万个调用的最小(并且在虚拟机上),我认为你应该很好。
关于parseFloat或parseInt 的速度,MDN建议使用一元运算符+代替,如
+"12.12"
=> 12.12
MDN联系
一元加号操作符位于其操作数之前,并求值为其操作数,但如果不是,则尝试将其转换为数字。虽然一元否定(-)也可以转换非数字,但一元加号是将某物转换为数字的最快和首选方法,因为它不对数字执行任何其他操作。
您知道parseFloat()
是基于浏览器的。因此,据我所知,浏览器在200个值之后可能会崩溃,在10000个值之后可能会正常工作。
这取决于浏览器有多少选项卡,还有哪些脚本正在运行,有多少CPU可供处理,当然还有什么浏览器
如果你的客户端使用带有1000个插件的firefox,它将永远无法顺利运行你的脚本。
只是我的意见。如果你想做得好,你应该在服务器上预处理,然后显示。
类型
javascript:a = +new Date;X = 100000;while(——x) parseFloat("21.23");alert(+new Date - a);
到你的url栏。
这是唯一确定的方法。
老实说,你不能回答这个问题。这取决于浏览器,例如,firefox 8应该比firefox 6快,等等。- 按从高到低对多个int变量进行排序
- 如何在Javascript中读取unsigned int
- 如何将Date字段设置为等于另一个Date+Int值,该值表示月份值
- 从int值来看,Javascript日期不正确
- JavaScript警报适用于int,但不适用于string
- 如何从二进制int中获取百分比,每个位表示x%
- Chart.js:将对象而不是int值作为数据传递
- float's未返回到移动视图结束后的位置
- 如何在javascript中将Integer转换为int
- 为什么不'将字符串转换为int不正确(parseInt)
- Angular 2:如何在 GET 和 POST 请求中设置 double、float、int 和布尔类型参数
- 在Javascript中将int 12345转换为float 1.2345
- 只允许使用javascript和mootools在字段中输入int和float
- 在jquery中检测数字是INT还是FLOAT
- Regex仅为货币标识float或int
- 如果为float,则显示小数点2位;如果为int,则显示十进制0位
- 生成指定范围内的随机数-各种情况(int, float, inclusive, exclusive)
- 在jQuery中将字符串转换为int/float
- JavaScript中的parseFloat和float int有多快?
- PHP + JS getElementById().值返回int而不是float