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 相关文章推荐
jQuery 获取URL参数的插件
Mar 04 Javascript
基于jQuery的仿flash的广告轮播
Nov 05 Javascript
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
JavaScript创建对象的七种方式全面总结
Aug 21 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
Bootstrap 按钮样式与使用代码详解
Dec 09 Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 Javascript
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
解决vue项目本地启动时无法携带cookie的问题
Feb 06 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获得当前的脚本网址
2007/12/10 PHP
php缓冲 output_buffering的使用详解
2013/06/13 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
发现的以前不知道的函数
2006/09/19 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
vuex实现数据状态持久化
2019/11/11 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
文明宿舍获奖感言
2014/02/07 职场文书
幼儿园老师寄语
2014/04/03 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
白银帝国观后感
2015/06/17 职场文书
七年级作文之环保作文
2019/10/17 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS