js中这句话是什么意思啊?高手解释一下

JavaScript09

js中这句话是什么意思啊?高手解释一下,第1张

"0x" 指明是十六进制("hex") ,^ 是按位异或,&是按位与, | 是按位或,这些都是位运算符,可以使用windows中的计算器来计算,把计算器设置成“科学型”,使用“十六进制”输入fffffff,“Xor”是^,“And”是&,“Or”是|,结果是103,也可以写成一个htm文件用IE看一下结果。

test.htm

<script lang="javascript">

alert ((((((((((0x0fffffff^101)^101)&102)^107)&101)|103)&107)^102)&107)|102)

</script>

这是把e.number与16进制数FFFF(也就是16个位都是1)进行与运算。用通俗一点的话来说就是获取e.numer(32位)的前16位(或者说低位)。下面是把一个32位数与0xFFFF进行与运算的过程演示:11010100110001011110101011100001 (这个是3569740513的二进制数)00000000000000001111111111111111 (这是0xFFFF的二进制数)00000000000000001110101011100001 (与运算后获得前16位,即60129)

返回由字符串转换得到的整数。

parseInt(numString, [radix])

参数

numString

必选项。要转换为数字的字符串。

radix

可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

说明

parseInt 方法返回与保存在 numString 中的数字值相等的整数。如果 numString 的前缀不能解释为整数,则返回 NaN(而不是数字)。

parseInt("abc") // 返回 NaN。

parseInt("12abc") // 返回 12。

可以用 isNaN 方法检测 NaN。