JS中的“&&”与“&”和“||”“|”有什么区别?

JS中的“&&”与“&”和“||”“|”有什么区别?... JS中的“&&”与“&”和“||”“|”有什么区别? 展开
 我来答
小星星教育知识分享
高粉答主

2019-12-09 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67132

向TA提问 私信TA
展开全部

在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,返回结果是”。

MyOpen
2019-05-23 · TA获得超过2861个赞
知道答主
回答量:68
采纳率:0%
帮助的人:4.1万
展开全部

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

四个运算符主要区别是运算方法不一样:

1、JavaScript中的位运算符:“&”

运算方法:两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。

举个例子:

31&2  结果为2

理由: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   控制台运行结果如下:

扩展资料:

在JavaScript逻辑运算中

0、”“、null、false、undefined、NaN都会判为false,其他都为true。

举个例子:null && 1 结果为null

控制台运行结果如下:

JavaScript中的逻辑运算除了&& 和 || 外,还有逻辑非(!)

逻辑非(!)的判断逻辑如下:

如果一个操作数是一个对象,返回false;

如果一个操作数是一个空字符串,返回false;

如果一个操作数是一个非空字符串,返回false;

如果一个操作数是一个数值0,返回true;

如果一个操作数是任意的非零字符,返回false;

如果一个操作数是null,返回true;

如果一个操作数是NaN,返回true;

如果一个操作数是undefined,返回true;

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小耳朵爱聊车
高粉答主

2019-11-16 · 说的都是干货,快来关注
知道大有可为答主
回答量:7378
采纳率:100%
帮助的人:296万
展开全部

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

1、意思不同:&&是“与”的意思,||是“或者”的意思。  

2、使用上不同:a&&b:a和b同时为true才返回true,否则返回false;a||b:a或b任意一个为true就返回true,否则返回false。  

3、两者都表示运算,但是&&运算符第一个表达式不成立的话,后面的表达式不运算,直接返回。而&对所有表达式都得判断。

扩展资料:

通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1、是一种解释性脚本语言(代码不进行预编译)。

2、主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

3、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

4、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。

参考资料来源:百度百科-javascript

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖娃子home
推荐于2017-10-12
知道答主
回答量:22
采纳率:0%
帮助的人:12.4万
展开全部
&&和||是逻辑运算的,返回的是boolean值,&和|是位运算的
他们最大的区别是,&& 和|| 是短路的,&和|不是短路的。
var a = 1;
var b = 1;
如if(a>2 && b<2) 和if(a>2 & b<2)
前者只会执行到a>2而b<2是不会执行的,返回false
后者执行a>2还会继续执行b<2,最终返回0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
通俗猫
2017-10-30 · TA获得超过601个赞
知道答主
回答量:114
采纳率:60%
帮助的人:20.3万
展开全部

与java不同的是,js中“&&”与“&”、“||”与“|”意思差不多,但还是有点小区别

性能上的比较

逻辑运算符&& || 中,如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false;如果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true。而&和|运算符却不是这样的,它们总是要比较两个运算数才得出结果,因而性能上&&和||会比&和|好。

功能用法

&&和||只能进行逻辑运算,而&和|除了可以进行"逻辑运算"外,还可以进行位运算

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式