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 相关文章推荐
Extjs Ajax 乱码问题解决方案
Apr 15 Javascript
JavaScript原型继承之基础机制分析
Aug 26 Javascript
javascript学习小结之prototype
Dec 03 Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
如何更好的编写js async函数
May 13 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
vue 限制input只能输入正数的操作
Aug 05 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实现转盘抽奖算法分享
2020/04/15 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
Javascript中的数学函数
2007/04/04 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
js date 格式化
2017/02/15 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
vue-axios使用详解
2017/05/10 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
python基础教程之Hello World!
2014/08/29 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
Python是什么 Python的用处
2020/05/26 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
自考毕业生自我鉴定
2013/11/04 职场文书
医学检验专业大学生求职信
2013/11/18 职场文书
自荐信如何制作?
2014/02/21 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
答谢词范文
2015/01/05 职场文书
鲁迅故里导游词
2015/02/05 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书