JS实现手写parseInt的方法示例


Posted in Javascript onSeptember 24, 2017

前言

本文主要给大家介绍了关于JS实现手写parseInt的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()

示例代码

function _parseInt(str, radix) {
 let str_type = typeof str;
 let res = 0;
 if (str_type !== 'string' && str_type !== 'number') {
  // 如果类型不是 string 或 number 类型返回NaN
  return NaN
 }

 // 字符串处理
 str = String(str).trim().split('.')[0]
 let length = str.length;
 if (!length) {
  // 如果为空则返回 NaN
  return NaN
 }

 if (!radix) {
  // 如果 radix 为0 null undefined
  // 则转化为 10
  radix = 10;
 }
 if (typeof radix !== 'number' || radix < 2 || radix > 36) {
  return NaN
 }

 for (let i = 0; i < length; i++) {
  let arr = str.split('').reverse().join('');
  res += Math.floor(arr[i]) * Math.pow(radix, i)
 }

 return res;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
$.ajax json数据传递方法
Nov 19 Javascript
javascript中字符串拼接需注意的问题
Jul 13 Javascript
模拟电子签章盖章效果的jQuery插件源码
Jun 24 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
Sep 12 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
浅谈Angularjs link和compile的使用区别
Oct 21 Javascript
JS鼠标3次点击事件实现代码及扩展思路
Sep 12 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
vue项目中定义全局变量、函数的几种方法
Nov 08 Javascript
Js利用console计算代码运行时间的方法示例
Sep 24 #Javascript
详解Web使用webpack构建前端项目
Sep 23 #Javascript
vue webuploader 文件上传组件开发
Sep 23 #Javascript
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 #jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 #jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 #jQuery
VsCode新建VueJs项目的详细步骤
Sep 23 #Javascript
You might like
PHP连接Access数据库的方法小结
2013/06/20 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
JavaScript中的 new 命令
2019/05/22 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
node.js +mongdb实现登录功能
2020/06/18 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python 文件操作实现代码
2009/10/07 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
python检查指定文件是否存在的方法
2015/07/06 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Python request post上传文件常见要点
2020/11/20 Python
Python如何批量生成和调用变量
2020/11/21 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
非功能性需求都包括哪些方面
2013/10/29 面试题
大学毕业通用个人的求职信
2013/12/08 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
长城导游词300字
2015/01/30 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书