在检查登录页面时,我发现了以下 JS 代码
hexMD5('\232' + document.login.password.value + '\305\334\122\134\352');
所以,我在问\352
它会占用一个字节并因此导致溢出和产量96
或 java 脚本解释器促进它short
以保持其价值?
在检查登录页面时,我发现了以下 JS 代码
hexMD5('\232' + document.login.password.value + '\305\334\122\134\352');
所以,我在问\352
它会占用一个字节并因此导致溢出和产量96
或 java 脚本解释器促进它short
以保持其价值?
JavaScript 没有字节、短整数或整数*,它只有Number
type,它是一个双精度 IEEE-754 数字。但这与您显示的代码并不真正相关,除非charCodeAt
在字符串上使用某些东西来获取其中一个字符的相应代码点,因为您在字符串中定义代码点(松散地,“字符”),不是数字。JavaScript 中的字符是 16 位实体,因此八进制转义'\352'
编码字符 234 十进制,这显然很容易适应字符的 16 位范围。
旁注:八进制转义不是主要标准的一部分,在严格模式下是不允许的。它们是规范的非规范性附件的一部分。我建议使用十六进制转义或 unicode 转义而不是八进制转义。
* 好吧,在一些与位相关的计算中,JavaScript 确实有 32 位整数作为暂时的东西,例如由&
and|
运算符执行的计算。