鸡肋小技巧:js中用parseInt实现N次方的计算

        在js使用过程中,parseInt是一个比较常用的函数,而不同于parseFloat,parseInt还有第二个参数,用于指定解析为int类型时的进制,例如parseInt('100',10)就是将字符串‘100’按照10进制解析为int类型,结果是100;parseInt('100',2)就是按照2进制转换为int类型,结果为4。

        在了解parseInt按指定进制转换int类型时,我们会发现一个很有趣的规律:在parseInt('100',10)的结果100中,我们会发现,结果100是进制“10”的2次方,parseInt('100',2)的结果4,是进制“2”的2次方。那么我们来改变一下,会发现parseInt('10000',3)的结果是81,而81是3的4次方;同理,parseInt('10000',2)的结果为16,16是2的4次方。

        先不说其中的原理,我们直接来总结规律,parse(X,Y)=Z这一计算结果中,当X为10的N次方时,Y的N次方=Z。说的通俗一点,当我们要计算一个数字的N次方时,例如5的7次方,我们不需要写成5*5*5*5*5*5*5,可以直接写成parseInt(10000000,5),这里第一个参数我没有用字符串,因为没必要,parseInt不一定要用于解析字符串,这里我们并不需要写成字符串。

        当然,如标题所言,这只是一个鸡肋的小技巧,因为js本身的内置Math对象中,提供了计算次方数的函数Math.pow,我们完全也可以写成Math.pow(5,7),本文更多的是希望通过这个小技巧,来告诉大家可以在学习js的过程中,扩展自己的思路,多发现各种函数的一些特别的用法,也许在什么时候,就会发现一些真正实用的小技巧。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值