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 相关文章推荐
web前端开发也需要日志
Dec 09 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
JavaScript中的比较操作符&gt;、=、
Dec 31 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
Oct 11 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
Nov 09 Javascript
Angular2整合其他插件的方法
Jan 20 Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
webpack4 SplitChunks实现代码分隔详解
May 23 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
Sep 04 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&amp;&amp;mysql)五
2006/10/09 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
iview实现图片上传功能
2020/06/29 Javascript
python轻松实现代码编码格式转换
2015/03/26 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
python使用turtle库绘制树
2018/06/25 Python
python切割图片的示例
2020/11/12 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
机械制造专业毕业生求职信
2014/03/02 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
Pandas数据类型之category的用法
2021/06/28 Python