详解parseInt

题目

let result = ['1', '2', '3'].map(parseInt)
console.log(result)

不用想结果也不会是1,2,3,不然就不会有这道题了,下面我们来剖析一下原理

原理

首先我们先将这段代码分解一下

['1', '2', '3'].map((val, index) => parseInt(val, index))
// 实际上的代码是这样的
parseInt('1', 0)
parseInt('2', 1)
parseInt('3', 2)

然后我们说一下parseInt这个方法的用法和参数
语法:parseInt(string, radix)

  1. 参数1:必须传入。被解析的字符串
  2. 参数2:可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间(也就是多少进制)。

也就是说parseInt(‘1’, 0),第一个是字符串,第二个参数是多少进制,0是10进制,所以十进制的字符串’1’就是1;
parseInt(‘2’, 1),1进制会有2吗,不会,所以是NaN;
parseInt(‘3’, 2),2进制也不会出现3,所以也是NaN。
这样我们就能理解这段代码的打印结果了。

['1', '2', '3'].map((val, index) => parseInt(val, index))
// 实际上的代码是这样的
parseInt('1', 0)//1
parseInt('2', 1)//NaN
parseInt('3', 2)//NaN

详解parseInt相关推荐

  1. jQuery中getJSON跨域原理详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp28 jQuery中getJSON跨域原理详解 前几天我再开发一个叫 河蟹工 ...

  2. Hadoop学习之Mapreduce执行过程详解

    一.MapReduce执行过程 MapReduce运行时,首先通过Map读取HDFS中的数据,然后经过拆分,将每个文件中的每行数据分拆成键值对,最后输出作为Reduce的输入,大体执行流程如下图所示: ...

  3. Java 集合类详解

    0.参考文献 http://blog.csdn.net/liulin_good/article/details/6213815 1.java集合类图 1.1 1.2 上述类图中,实线边框的是实现类,比 ...

  4. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

  5. Stuts的Web.xml 详解

    1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...

  6. fileupload的回调方法_jQuery File Upload文件上传插件使用详解

    本篇教程介绍了jQuery File Upload文件上传插件使用详解,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入. < jQuery File Upload 是一个 ...

  7. ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同

     相关文章: 1.<ViewPager 详解(一)---基本入门> 2.<ViewPager 详解(二)---详解四大函数> 3.<ViewPager 详解(三)-- ...

  8. 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法

    你遇到过性能很差的网页吗? 这种网页响应非常缓慢,占用大量的CPU和内存,浏览起来常常有卡顿,页面的动画效果也不流畅. 你会有什么反应?我猜想,大多数用户会关闭这个页面,改为访问其他网站.作为一个开发 ...

  9. php引入路径配置,require.js的路径配置和css的引入方法详解

    这篇文章主要介绍了详解require.js配置路径的用法和css的引入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前端开发在近一两年发展的非常快,JavaScript作为主流的开发语言得到了前 ...

最新文章

  1. 网站推广专员浅析网站建设实用技巧助力网站推广优化
  2. CLR Via CSharp读书笔记(14):字符、字符串和文本处理
  3. C# ActionT和 FuncT委托
  4. AttributeError : module ‘enum‘ has no attribute ‘IntFlag‘
  5. 关于Web面试的基础知识点--Html+Css(四)
  6. 执行存储过程执行时,报ORA-01031权限不足
  7. 构建可网管的企业网络
  8. 分享Python入门经典基础题(day1)附完整答案
  9. Discuz收费插件模版合集包;discuz大部分插件下载地址;http://pan.baidu.com/s/1nt5hwU1
  10. NetCore EF 使用scaffold-dbcontext导致deps.json] does not exist的解决办法
  11. 证明费马最后定理的英国数学家,终获2016阿贝尔奖
  12. 基本表改变视图不改变为什么_为什么说10万本金以下穷人玩股票一般都会赔?不改变穷人思维,还不如退出股市...
  13. 服务器手机信息报警,广东肇庆110全面开通手机短信报警服务
  14. JAVASCRIPT精彩200例
  15. 算法 洗扑克牌(乱数排列)
  16. 《计算机应用基础》第04章在线测试,《计算机应用基础》在线测试.doc
  17. 成为一个CTO需要具备什么条件?
  18. 用Bibtex导出GB/T 7714等格式引用的方法
  19. 乐观复制算法-9.扩展乐观复制系统
  20. 数字化转型:留给企业的时间不多了!

热门文章

  1. U8采购暂估常见问题
  2. Gnash 播放swf文件
  3. 功能样式:Lambda函数和映射
  4. STM32+RTThread串口不定长接收
  5. 任务栏的快捷图标变成白色文本
  6. python自定义加减乘除函数实现加减乘除_Python实现高精度加减乘除运算
  7. 交流信号采集电路设计(超详细分析)
  8. ai图像识别python的项目_Python3调用百度AI识别图片中的文字功能示例【测试可用】...
  9. 2007中国软件开发者大型有奖调查
  10. 联想服务器开启虚拟化设置,联想电脑开启虚拟化 电脑肿么开启虚拟化