javascript中&和丨丨有什么区别
发布时间:2025-05-22 22:40:28 发布人:远客网络
一、javascript中&和||有什么区别
在JavaScript中“&&”和“||”是逻辑运算符;“&”和“|”是位运算符。
四个运算符主要区别是运算方法不一样:
1、JavaScript中的位运算符:“&”
运算方法:两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。
理由:31的二进制为11111,2的二进制为10 11111&00010的结果为00010,即2
2、JavaScript中的位运算符:“|”
两个位只要有一个为1,那么结果都为1。否则就为0
31|2结果为31 31的二进制为11111,2的二进制为10 11111|00010的结果为11111,即31
3、JavaScript中的逻辑运算符“&&”
只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
例子:1&&3为3,1&&0为0,控制台运行结果如下:
4、JavaScript中的逻辑运算符“||”
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
例子:3||1为3,3||0为3,0||3为3控制台运行结果如下:
0、”“、null、false、undefined、NaN都会判为false,其他都为true。
举个例子:null&& 1结果为null
JavaScript中的逻辑运算除了&&和||外,还有逻辑非(!)
如果一个操作数是一个对象,返回false;
如果一个操作数是一个空字符串,返回false;
如果一个操作数是一个非空字符串,返回false;
如果一个操作数是一个数值0,返回true;
如果一个操作数是任意的非零字符,返回false;
如果一个操作数是null,返回true;
如果一个操作数是NaN,返回true;
如果一个操作数是undefined,返回true;
二、javascript中&和|符号是什么
在JavaScript中“&&”和“||”是逻辑运算符;“&”和“|”是位运算符。
四个运算符主要区别是运算方法不一样:
1、JavaScript中的位运算符:“&”
运算方法:两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。
理由:31的二进制为11111,2的二进制为10 11111&00010的结果为00010,即2
2、JavaScript中的位运算符:“|”
两个位只要有一个为1,那么结果都为1。否则就为0
31|2结果为31 31的二进制为11111,2的二进制为10 11111|00010的结果为11111,即31
3、JavaScript中的逻辑运算符“&&”
只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
例子:1&&3为3,1&&0为0,控制台运行结果如下:
4、JavaScript中的逻辑运算符“||”
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
例子:3||1为3,3||0为3,0||3为3控制台运行结果如下:
0、”“、null、false、undefined、NaN都会判为false,其他都为true。
举个例子:null&& 1结果为null
JavaScript中的逻辑运算除了&&和||外,还有逻辑非(!)
如果一个操作数是一个对象,返回false;
如果一个操作数是一个空字符串,返回false;
如果一个操作数是一个非空字符串,返回false;
如果一个操作数是一个数值0,返回true;
如果一个操作数是任意的非零字符,返回false;
如果一个操作数是null,返回true;
如果一个操作数是NaN,返回true;
如果一个操作数是undefined,返回true;
三、js中的&&和||有什么区别
在JS“&&”和“||”是逻辑运算符;“&”和“|”是位运算符。
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
JavaScript中的位运算符:“|”运算方法:两个位只要有一个为1,那么结果都为1。否则就为0
只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;逻辑与:a&&b就是当且仅当两个操作数均为true时,其结果才为true;只要有一个为零,a&&b就为零。
只有前后都是false的时候才返回false,否则返回true;
前面2是true,后面1也是true,结果是2;
alert('a'||1);//'a'
前面'a'是true,后面1也是true;测试结果是'a';
前面”是false,后面1是true,而返回结果是1;
alert('a'||0);//'a'
前面'a'是true,而后面0是false,返回结果是'a';
前面”是false,后面0同样是false,返回结果是0;
alert(0||'');//''
前面0是false,后面”是false,返回结果是”。