V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fangwenxue
V2EX  ›  问与答

这是什么转换 js

  •  
  •   fangwenxue · 2020-07-12 22:59:52 +08:00 · 1120 次点击
    这是一个创建于 1355 天前的主题,其中的信息可能已经有所发展或是发生改变。
    r8t0=4536;o5p6=1831;d4j0=7786;a1g7=7290;j0m3=3863;n4a1=9424;g7c3=5384;t0v2=7486;q7k1=4162;e5e5=3839;x4r8r8=0^r8t0;p6h8a1=1^o5p6;a1s9j0=2^d4j0;i9x4l2=3^a1g7;c3q7b2=4^j0m3;v2u1t0=5^n4a1;n4e5y5=6^g7c3;t0m3x4=7^t0v2;f6i9z6=8^q7k1;u1n4k1=9^e5e5;
    console.log((f6i9z6^q7k1)+(x4r8r8^r8t0)+(f6i9z6^q7k1)+(x4r8r8^r8t0))
    

    结果 16

    r8t0=4536;o5p6=1831;d4j0=7786;a1g7=7290;j0m3=3863;n4a1=9424;g7c3=5384;t0v2=7486;q7k1=4162;e5e5=3839;x4r8r8=0^r8t0;p6h8a1=1^o5p6;a1s9j0=2^d4j0;i9x4l2=3^a1g7;c3q7b2=4^j0m3;v2u1t0=5^n4a1;n4e5y5=6^g7c3;t0m3x4=7^t0v2;f6i9z6=8^q7k1;u1n4k1=9^e5e5;
    console.log('' +(f6i9z6^q7k1)+(x4r8r8^r8t0)+(f6i9z6^q7k1)+(x4r8r8^r8t0))
    

    结果 8080

    • 为什么用空字符+后结果变了?这是有什么转换
    3 条回复    2020-07-13 09:21:10 +08:00
    wxsm
        1
    wxsm  
       2020-07-12 23:58:13 +08:00 via iPhone
    加上空字符后变成了字符串运算。
    imdong
        2
    imdong  
       2020-07-13 00:06:02 +08:00
    代码格式一下就可以看到,这是非常简单的异或运算。

    先随便定义 10 个 随机变量,变量用随机数填充,值是多少不重要。

    然后分别定义 10 个变量,用 0-9 依次与刚才的变量进行异或运算。

    然后在使用的时候,数字对应变量 ^ 对应的随机数,就得到了数字本身...(异或同一个数两次等于啥也没干...)

    毫无技术难度,也就是障眼法而已。

    还原后的代码分别为:`console.log(8 + 0 + 8 + 0);` 和 `console.log('' + 8 + 0 + 8 + 0);`

    至于加个空字符串结果就变了,因为 JS 的特性,自动类型转换,把数字转换成字符串进行 + (连字符)操作了。

    那不就变成了 '' + '8' + '0' + '8' + '0'。
    Yumwey
        3
    Yumwey  
       2020-07-13 09:21:10 +08:00 via Android
    这是类型转换 js
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1198 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.