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两段代码,两个小技巧
Feb 04 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
Aug 30 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 Javascript
JQuery记住用户名和密码的具体实现
Apr 04 Javascript
jQuery Easyui 验证两次密码输入是否相等
May 13 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
May 18 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
Vue实现剪贴板复制功能
Dec 31 Javascript
JS document form表单元素操作完整示例
Jan 13 Javascript
JavaScript前端开发时数值运算的小技巧
Jul 28 Javascript
js实现菜单跳转效果
Dec 11 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中cookie和session的区别实例分析
2014/08/28 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
PHP中SESSION过期设置
2021/03/09 PHP
jquery 注意事项与常用语法小结
2010/06/07 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
js简单时间比较的方法
2016/08/02 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
python列表使用实现名字管理系统
2019/01/30 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
司机岗位职责
2013/11/15 职场文书
美术教学感言
2014/02/22 职场文书
给校长的建议书200字
2014/05/16 职场文书
企业标语口号
2014/06/10 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers
python 单机五子棋对战游戏
2022/04/28 Python
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电