javascript中的 "&" 代表什么?

<script language="javascript">
<!--
function Button1_onclick()
{
var currentState = 215;
if ( (currentState & 85) == 85 )
{
alert( "已经开通1、3、5、7车道" );
}
else
{
alert( "1、3、5、7车道目前处于关闭状态" );
}
}
-->
</script>
<input id="Button1" type="button" value="查看1、3、5、7道是否已经通车" onClick="return Button1_onclick()" />

&是位运算符“与”。即当Javascript进行位运算是,它首先将操作数以二进制位进行运算,然后以十进制的数值返回。
而运算符&(与)是只有在对应位同时为1的时候为1,否则为0.
例如:13的二进制表示为1101, 9的二进制表示为1001。则13 & 9进行运算后,得到二进制结果为1001,即 9。.
1 1 0 1
1 0 0 1
————
1 0 0 1
在本例中,先将215和85转换为二进制:215对应1101 0111,85对应0101 0101 ,运算过程如下:
1 1 0 1 0 1 1 1
0 1 0 1 0 1 0 1
————————
0 1 0 1 0 1 0 1
结果为85.
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-14
1、&是位运算符,也以可以进行"逻辑运算",因为JS是无类型的语言、各数据类型可以自由转换。
相同位的两个数字都为1,则为1;若有一个不为1,则为0。
00101
11100
(&;或者and)
----------------
00100

2、逻辑运算符&&代表并且的意思。
第2个回答  2011-04-18
按位求与,跟C++是一样的
85的二进制是01010101可以分别表示4个车道
215的二进制是11010111
求与的结果是01010101=85本回答被网友采纳
第3个回答  2011-04-18
按位与.
215 二进制:1101 0111
85的二进制:0101 0101
第4个回答  2011-04-18
与吧!
相似回答