【JavaScript高级程序设计】1、操作符
很久没有再写博客了,我决定从新开启博客之旅,也是对我工作之后的学习的监督以及技术提升的一个里程碑把!!!
1、位操作符
ECMAScript中的所有数值都以IEEE-754 64位格式存储,但是位操作符并不直接操作64位的值,而是把64位的值转化为32位的整数然后执行操作,最后转换为64位。
负数使用二进制补码进行存储。
1.1 按位非
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">
var num1 = 25;
var num2 = ~num1;
alert(num2);
</script>
</head>
<body>
</body>
</html>
显示结果:

1.2 按位与
按位与就是:
第一个数值的位 第二个数的位 结果
1 1 1
1 0 0
0 1 0
0 0 0
就是只有两个1相与的时候才是1,其他都是0
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">
var result = 25 & 3;
//25的二进制的值是:00011001
//3的二进制值是:0011
alert(result); //1
</script>
</head>
<body>
</body>
</html>
结果:

1.3 按位或
第一个数值的位 第二个数值的位 结果
1 1 1
1 0 1
0 1 1
0 0 0
只有全都是0的时候返回0,其他情况下都是1
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">
var result = 25 | 3;
alert(result); //结果就是27
</script>
</head>
<body>
</body>
</html>
显示结果:

1.4 按位异或
第一个数值的位 第二个数值的位 结果
1 1 0
1 0 1
0 1 1
0 0 0
按位异或就是相同位0,不同为1
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script type="text/javascript">
var result = 25 ^ 3; //异或
//25 00011001
//3 00000011
alert(result); //00011010 26
</script>
</head>
<body>
</body>
</html>
结果:


浙公网安备 33010602011771号