var num=1
1.这段js会被编译为标识符num的指针*指向1的内存地址
2.数字类型为值类型,这个值被声明后CPU会在内存中开辟一块空间存储这个值。
位运算 XOR
位运算 XOR 由符号(^)表示,当然,也是直接对二进制形式进行运算。XOR 不同于 OR,当只有一个数位存放的是 1 时,它才返回 1。真值表如下:
第一个数字中的数位 | 第二个数字中的数位 | 结果 |
---|---|---|
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
对 25 和 3 进行 XOR 运算,代码如下:
var iResult = 25 ^ 3;alert(iResult);//输出 "26"
25 和 3 进行 XOR 运算的结果是 26:
25 = 0000 0000 0000 0000 0000 0000 0001 1001 3 = 0000 0000 0000 0000 0000 0000 0000 0011---------------------------------------------XOR = 0000 0000 0000 0000 0000 0000 0001 1010
可以看出,在两个数字中,共有 4 个数位存放的是 1,这些数位被传递给结果。二进制代码 11010 等于 26。
位运算的运算原理
将两个数字分别转换为二进制进行位运输,运算完毕的结果再转换为二进制所对应的数字
位运算的应用场景:
1.通过位运算可以交换两个变量的变量值,仅支持数字
2.通过位运算完成两个变量值的值交换,仅支持数字
一、利用^来完成比较两个数是否相等
1 ^ 1 = 0
1 ^ 非1数 !=0
所以同一个数……同一个数等于0,否则不等于0
二、使用^来完成值交换
a = 1
b = 2
a ^= b
b ^= a
a ^= b
结果a=2,b=1