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 相关文章推荐
Javascript new Date().valueOf()的作用与时间戳由来详解
Apr 24 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
May 17 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 Javascript
JavaScript设计模式之外观模式实例
Oct 10 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
jquery实现垂直和水平菜单导航栏
Aug 27 Javascript
js表单登陆验证示例
Oct 19 Javascript
JavaScript中利用for循环遍历数组
Jan 15 Javascript
vue监听scroll的坑的解决方法
Sep 07 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
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中调用其他系统http接口的方法说明
2014/02/28 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
Python collections模块实例讲解
2014/04/07 Python
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
利用python实现数据分析
2017/01/11 Python
Mac 上切换Python多版本
2017/06/17 Python
Python探索之自定义实现线程池
2017/10/27 Python
python 删除列表里所有空格项的方法总结
2018/04/18 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
python批量爬取下载抖音视频
2019/06/17 Python
python带参数打包exe及调用方式
2019/12/21 Python
python super()函数的基本使用
2020/09/10 Python
python 写一个性能测试工具(一)
2020/10/24 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
关于读书的演讲稿800字
2014/08/27 职场文书
树转促学习心得体会
2014/09/10 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
承诺函格式模板
2015/01/21 职场文书
酒会邀请函
2015/01/31 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
六年级情感作文之500字
2019/10/23 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
MySQL系列之十一 日志记录
2021/07/02 MySQL
尝试使用Python爬取城市租房信息
2022/04/12 Python