js字符串转为数字方法parseInt()、减号、乘号、JSON.parse()、Number()的效率比较
var a = '1';
var b = '0x1'; var runTest = function(timeTag, testFunction) {
console.time(timeTag);
for (var i = 0; i < 100000000; i++) {
testFunction();
}
console.timeEnd(timeTag);
}
runTest("parseInt(a)", function() {
parseInt(a);
});
runTest("parseInt(a, 10)", function() {
parseInt(a, 10);
});
runTest("parseInt(b)", function() {
parseInt(b);
});
runTest("parseInt(b, 10)", function() {
parseInt(b, 10);
});
runTest("a * 1", function() {
a * 1;
});
runTest("b* 1", function() {
b * 1;
});
runTest("- 0", function() {
a - 0;
});
runTest("JSON.parse()", function() {
JSON.parse(a);
});
runTest("Number(a)", function() {
Number(a);
});
runTest("Number(b)", function() {
Number(b);
});
parseInt(a): 537.01025390625ms
parseInt(a, 10): 1513.892822265625ms
parseInt(b): 20277.371826171875ms
parseInt(b, 10): 17531.925048828125ms
a* 1: 1101.119140625ms
b* 1: 1193.64794921875ms
- 0: 1126.380126953125ms
JSON.parse(): 15990.590087890625ms
Number(a): 1172.126953125ms
Number(b): 1288.054931640625ms
综上比较,
1、本身是数字的字符串转为数字,parseInt()不带参数直接转最快;
2、字符串既包含数字又包含字母的字符串,parseInt()带10进制的参数更快,但是是所有方法中最慢的;
3、如果是纯数字组成的字符串,可以使用JSON.parse()转为数字,相比是所有方法中最慢的。
4、Number()方法和乘号、减号方法相差不大。
参考链接:https://cnodejs.org/topic/5556c5237cabb7b45ee6bca6
推荐文章:https://blog.fundebug.com/2018/07/07/string-to-number/
js字符串转为数字方法parseInt()、减号、乘号、JSON.parse()、Number()的效率比较的更多相关文章
- jquery过滤特殊字符及js字符串转为数字
//替换特殊字符 $(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, "")); 方法主要有 ...
- js字符串转换为数字的三种方法。(转换函数)(强制类型转换)(利用js变量弱类型转换)
js字符串转换为数字的三种方法.(转换函数)(强制类型转换)(利用js变量弱类型转换) 一.总结 js字符串转换为数字的三种方法(parseInt("1234blue"))(Num ...
- python用reduce和map把字符串转为数字的方法
python用reduce和map把字符串转为数字的方法 最近在复习高阶函数的时候,有一道题想了半天解不出来.于是上午搜索资料,看了下别人的解法,发现学习编程,思维真的很重要.下面这篇文章就来给大家介 ...
- JavaScript 字符串转为数字
js中字符串转为数字主要4种,分别为转换函数,强制转换,js变量弱类型转换,正则表达式. 1.转换函数 JS中提供了两个转换函数parseInt()和parseFloat(),parseInt()将值 ...
- js字符串与数字之间的比较
//1.纯数字之间比较 console.log(1<3);//true //2.纯字符串比较,先转成ASCII码,按位依次比较 console.log("1"<&quo ...
- js 字符串转换数字
方法主要有三种转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对 ...
- js字符串转换为数字 总结
a. 将一个字符串转换为数字的一种缺少些技巧但是很清楚明白的方法就是:把Number()构造函数作为一个函数来调用: var number = Number(string_value); b. pa ...
- python 将列表中的字符串转为数字
本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: ...
- js字符串常用的方法总结,及其用法
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
随机推荐
- 5个 JS 解构有趣的用途
摘要: 玩转ES6解构赋值. 原文:5个 JS 解构有趣的用途 译者:前端小智 1. 交换变量 通常交换两个变量的方法需要一个额外的临时变量,来看看例子: let a = 1; let b = 2; ...
- python从入门到放弃--线程进阶
# ### 死锁,递归锁,互斥锁 from threading import Thread,Lock import time noodle_lock = Lock() kuaizi_lock = Lo ...
- 访问rabbitmq-server失败
测试项目正常运行突然访问不了,各项目启动失败,查看日志发现是RabbitMQ拒绝连接. 重启后依然失败,看var/log/rabbitmq/startup_err 发现什么错误信息也没有,后查看磁盘空 ...
- Linux 查看 添加 修改路由
最近搭建vpn, 使用 ssh 隧道一直在涉及路由相关问题,今天简单整理一下,方便下次使用: 查看路由: [jsi@localhost Desktop]$ route Kernel IP routin ...
- 201871010135 张玉晶《面向对象程序设计(java)》第七周学习总结
201871010135 张玉晶<面向对象程序设计(java)>第七周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 浅谈字符串Hash
浅谈字符串Hash 本篇随笔讲解Hash(散列表)的一个重要应用:字符串Hash. 关于Hash Hash是一种数据结构,叫做Hash表(哈希表),也叫散列表.关于Hash的实现,其实与离散化颇为类似 ...
- 实时获取input框内容
源码: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncod ...
- Word论文
粘贴图片不完整,只显示一行? 问题:行距被固定了 临时解决:设置多倍行距,推荐值1.5 1. 点一下图片,然后选择样式-正文 即可, 2. 或者为图片创建专用样式,需要时就点一下: 开始-样式(点样式 ...
- 性能对比:aelf智能合约运行环境性能是evm的1000倍
测试用例及代码库 机器配置 测试结果 3.1 EVM 3.2 AElf 3.2.1 LoopDivAdd10M 3.2.2 LoopExpNop1M 测试结论 近期对标以太坊做了一系列针对测试,在此次 ...
- Anaconda入门教程【快速掌握】
Anaconda 使用指南 概述 很多学习python的初学者甚至学了有一段时间的人接触到anaconda或者其他虚拟环境工具时觉得无从下手, 其主要原因就是不明白这些工具究竟有什么用, 是用来做什么 ...