parseInt和Number之情仇

u=118333331,72477668&fm=26&gp=0.jpg

二者同为转型函数 ,但是昵,p(parseInt)说它牛,n(Number)说它更牛,那你说嘞。那来看看。先上个例子瞅瞅

['1','2','3'].map(parseInt);//[1,NaN,NaN]
['1','2','3'].map(Number);//[1,2,3]

你瞅瞅返回了啥,n说你返回的NaN是干嘛的喽,你看看我,多好,该是啥就是啥。
p不服气了,来看看我,我是需要两个参数的:

  • 转型函数parseInt()可以接收两个参数,第一个参数是需要解析的数,第二个参数是基数,介于2到36之间,表示数字在解析的时候使用的进制(若解析的参数不在基数的范围内的,则返回NaN)*

n说,你不要太嚣张,我一个参数就好。

  • 转型函数Number只接受一个参数,我要解析的值。*

你们也说完了,来瞅瞅我们的例子:
分析一下我们看到的Array对象的map方法(),map方法利用回掉函数的结果组成一个新的数组,包括三个值:当前元素,元素索引和原始数组,
来看看你p啊,把你传给map函数,相当于调用了三遍yourself

parseInt("1",0);//1
parseInt("2",1);//NaN(基数超范围啦)
parseInt("3",2);//NaN

再来看看你的对手n,人家虽然也是被调用了三次,但是因为你们需要的原料不一样,人家只需要一个参数,返回的内容也就不一样了(人家都是按时进制来计算的,下面的时结果)

Number("1");//1
Number("2");//2
Number("3");//3
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容