一个&在js中代表什么意思

JavaScript06

一个&在js中代表什么意思,第1张

在js里,一个&表示运算符按位与,就是把两个二进制数按每一位比较,两个都为1则为1,否则为0(也类似与且,都真才为真)

比如 1111&0110 = 0110。

如果不是二进制数比较,需要先把这两个数转换为二进制,比如

15&6 = 1111&0110 = 0110 = 6;

扩展资料:

按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。

整数在计算机中用二进制的位来表示,一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。

按位与运算通常用来对某些位清0或保留某些位,例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为11111111)。

参考资料来源:百度百科-按位与

在JS“&&”和“||”是逻辑运算符;“&”和“|”是位运算符。

1、运算表达的不同

只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。

JavaScript中的位运算符:“|”运算方法:两个位只要有一个为1,那么结果都为1。否则就为0

2、使用方式的不同

只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值

3、运算逻辑的不同

按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;逻辑与:a&&b就是当且仅当两个操作数均为true时,其结果才为true;只要有一个为零,a&&b就为零。

扩展资料

js中的||的使用:

只有前后都是false的时候才返回false,否则返回true;

alert(2||1)//2

前面2是true,后面1也是true,结果是2;

alert('a'||1)//'a'

前面'a'是true,后面1也是true测试结果是'a';

alert(''||1)//1

前面”是false,后面1是true,而返回结果是1;

alert('a'||0)//'a'

前面'a'是true,而后面0是false,返回结果是'a';

alert(''||0)//0

前面”是false,后面0同样是false,返回结果是0;

alert(0||'')//''

前面0是false,后面”是false,返回结果是”。

js中按位与运算符(&)

1.该运算符对它的运算数逐位执行布尔AND操作,只有两个运算数中相应的位都为1时,结果中的这一位才为1,它要求其运算数为整型,如果运算数不是整型,则会尝试将其转换为32位整型,如果无法转换,就返回NaN。

// 运算数均为整型

alert(9 &9)// 9

alert(9 &10)// 8

alert(1 &3)// 1

// 运算数可以被转换为整型

alert([9] &'9')// 9

alert([9] &['10'])// 8

alert(1.25 &3.25)// 1

// 一个或两个运算数均无法被转换整型

alert(1 &['a'])// 0

alert({} &/\d/)// 0

alert(NaN &NaN)// 0

alert(Infinity &Infinity)// 0

alert(NaN &Infinity)// 0

alert(null &null)// 0

alert(undefined &undefined)// 0

alert(null &undefined)// 0

//----------------------------

2.JS中逻辑&&

 例1:

以下是引用片段:

<Script>

var t = true

var f = false

with(document) {

write("<OL><LI>true &&true 的结果是 ", t &&t)

write("<LI>true &&false 的结果是 ", t &&f)

write("<LI>false &&true 的结果是 ", f &&t)

write("<LI>false &&false 的结果是 ", f &&f)

write("<LI>true &&(1==1) 的结果是 ", t &&(1==1))

write("<LI>false &&'A' 的结果是 ", f &&'A')

write("<LI>'A' &&false 的结果是 ", 'A' &&f)

write("<LI>true &&'A' 的结果是 ", t &&'A')

write("<LI>'A' &&true 的结果是 ", 'A' &&t)

write("<LI>'A' &&'B' 的结果是 ", 'A' &&'B')

//&&:有一个不是逻辑值,只要第一个操作数的值为flase,则返回第一个操作数的值flase,否则,返回第二个操作数的值

}

</Script>