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跨Iframe选择实现代码
Aug 19 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
jquery easyui 结合jsp简单展现table数据示例
Apr 18 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
JavaScript实现通过select标签跳转网页的方法
Sep 29 Javascript
JavaScript使用Ajax上传文件的示例代码
Aug 10 Javascript
解决微信二次分享不显示摘要和图片的问题
Aug 18 Javascript
JS去掉字符串中所有的逗号
Oct 18 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
JavaScript算法学习之冒泡排序和选择排序
Nov 02 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
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
2006/10/09 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
2016/11/02 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
使用ES6语法重构React代码详解
2017/05/09 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
Vue中的字符串模板的使用
2018/05/17 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python引用模块和查找模块路径
2016/03/17 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
一看就懂得Python的math模块
2018/10/21 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python读取ini配置文件过程示范
2019/12/23 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
python实现控制台输出彩色字体
2020/04/05 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
Linux的文件类型
2012/03/07 面试题
关于幼儿的自我评价
2013/12/18 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2015新年寄语大全
2014/12/08 职场文书
mysql 子查询的使用
2022/04/28 MySQL