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 相关文章推荐
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
Mar 20 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
Nov 30 Javascript
实现变速回到顶部的JavaScript代码
May 09 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
Jan 23 Javascript
JavaScript中诡异的delete操作符
Mar 12 Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
Vue2.0 组件传值通讯的示例代码
Aug 01 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
Mar 19 Javascript
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
JS前端广告拦截实现原理解析
Feb 17 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
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
Python中的jquery PyQuery库使用小结
2014/05/13 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Django 开发环境配置过程详解
2019/07/18 Python
Python进行统计建模
2020/08/10 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
写好自荐信的几个要点
2013/12/26 职场文书
军训 自我鉴定
2014/02/03 职场文书
亮剑精神观后感
2015/06/05 职场文书
消防宣传语大全
2015/07/13 职场文书
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫