zoukankan      html  css  js  c++  java
  • js进制转换两则

    1.why does parseInt(1/0, 19) return 18? who know?

    首先看看 1/0 到底是什么:

    1/0
    Infinity
    1/0 === 'Infinity'
    false
    1/0 == 'Infinity'
    true
     
    所以表达式转换
     parseInt(1/0, 19)  =>  parseInt('Infinity', 19)  => parseInt('I', 19)  (因为19进制最大只有18,超过了i后面的就不认了),所以结果是 18
     
    那么
     parseInt('J', 20) 等于什么?
     

    2.1457771337246..toString(36)
     
    首先想一串数字后面跟两个点??很奇怪,仔细一分析,有可能是这样: 1457771337246.  .toString(36) 浮点数就是个对象了,Int就不是了,奇怪。奇怪就奇怪,也能接受。
     
    上面代码执行的结果是 iloveyou ,然后心想,可否有其他的数字,可以转换成其他字符?
     
    (function(s,h){var c=[],l=s.length;s.replace(/./g,function(s,i){c.push(Math.pow(h,l-i-1)*parseInt(s,h));});return eval(c.join('+'))+.0;})('iloveyou',36 ).toString(36);
     
  • 相关阅读:
    了解jQuery
    了解JavaScript
    了解DOM
    了解CSS
    UICollectionViewCell点击高亮效果(附带效果GIF)
    产品迭代缓慢的原因
    了解Web的相关知识
    HTML常用标签
    HTML常用标签效果展示
    了解数据产品经理
  • 原文地址:https://www.cnblogs.com/webooxx/p/2584932.html
Copyright © 2011-2022 走看看