[转] JS运算符 &&和|| 及其优先级
第一、&& (逻辑与)运算,看一个简单的例子:
var a = 1 && 2 && 3;
var b = 0 && 1 && 2;
var c = 1 && 0 && 2;
console.log(a);//值为3
console.log(b);//值为0
console.log(c);//值为0
运行的结果是 :3,0,0。
解析:
“&&” 运算遇到false就返回;
变量a的计算:因为1 && 2,1为真,返回2;2&&3, 2为真,返回3 。
变量b的计算:因为0 && 1,0为假,返回0,不再往下计算。
第二、|| (逻辑或)运算,看一个简单的例子:
var d = 0 || 1 || 2;
var e = 1 || 0 || 2;
var f = 1 || 2 || 0;
console.log(d);//值为1
console.log(e);//值为1
console.log(f);//值为1
解析:
“||”运算遇到true就返回;
变量d的计算:因为0 || 1,0为假,返回1;1 || 2, 1为真,返回1 。
变量e的计算:因为1 || 0,1为真,返回1,不再往下计算。
三、&& (逻辑与) 和||(逻辑或)混合使用:
var g = 1 && 2 || 3;
var h = 1 || 2 && 3;
var i = 0 || 2 && 3;
console.log(g);//值为2
console.log(h);//值为1
console.log(h);//值为3
解析:
&& (逻辑与) 优先级高于||(逻辑或);
变量g的计算:因为1 && 2,1为真,返回2;2 || 3, 2为真,返回2 。
变量e的计算:等式看成 1 || (一个值),1为真,最终直接返回1,不需要计算后边的等式的值。
变量i的计算:因为2 && 3,2为真,返回3;0 || 3,0为假,返回3。
[转] JS运算符 &&和|| 及其优先级的更多相关文章
- js 运算符优先级
在看jquery源码,仔细看入口函数的时候,有点懵了.看到与或.多重三目,傻傻的分不清,就代码仔细的区分下运算符优先级,以前都是呼呼的飘过.看来任何一个细节都不能忽略,不然效率极低.. !functi ...
- js运算符逻辑!和instanceof的优先级
写js时间长了,运算符优先级很可能自然而然的就形成习惯了,也不需要特别注意优先级的问题. 至少到目前为止,我也没有真正了解过js当中所有运算符的具体优先级.也没有出过什么重大的问题. 但是直到今天,在 ...
- JS运算符
JS运算符: 使用的运算符的时候不需要声明变量,运算符非变量:1.算术运算符 + - * / % (%为取余数运算符) (自增运算符++) (自减运算符 --) + 运算符作用:1.数值相加 2.字符 ...
- S运算符&&和|| 及其优先级
a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, tru ...
- js 运算符的执行顺序
js 运算符的执行顺序 js 运算符优先级 Operator Precedence 下表从最高(21)到最低(1)优先顺序排列 left-to-right 从左到右 / 先左后右 right-to-l ...
- js运算符单竖杠“|”的用法和作用及js数据处理
js运算符单竖杠“|”的作用 很多朋友都对双竖杠“||”,了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用技巧,js小知识 , 这篇文章里面,js ...
- js值类型转换(boolean/String/number),js运算符,if条件,循环结构,函数,三种弹出框
js值类型转换 number | string | boolean boolean类型转换 num = 0; var b1 = Boolean(num); console.log(b1) 转化为数字类 ...
- js运算符的一些特殊应用
作者: 小文 来源: http://www.cnblogs.com/daysme/ 时间: 2017/3/2 17:21:03 本文集合了了js运算符的一些特殊应用. js位运行符的运用. js运算符 ...
- Mysql 中Left/Right join on后面and和where条件查询的差异-Mysql SQL运算符是有优先级
一.Mysql中Left/Right join on后面and和where条件查询的差异 1.建两张测试表,一张商户定义表.一张商户操作状态明细表 1)商户定义表 CREATE TABLE hope. ...
随机推荐
- Gold Balanced Lineup
#include<cstdio> #include<cstring> #include<cmath> #include <cstdlib> #defin ...
- ISO15693协议的Inventory
ISO15693的Inventory指令看起来比较让人迷糊,想明白其流程,我认为以下几点是必须了解的: 第一.ISO15693标签的几种状态,资料上有,这里罗嗦重复一下: 1.PowerOff状态 2 ...
- hibernate之CRUD操作
CRUD是指在做计算处理时的增加(Create).读取(Retrieve)(重新得到数据).更新(Update)和删除(Delete)几个单词的首字母简写. 下面列举实例来讲解这几个操作: 实体类: ...
- angular学习地址
在网上收集了angular.js的网站,不错,收集收集 http://www.ituring.com.cn/minibook/303 http://www.zouyesheng.com/angular ...
- BZOJ 1003 [ZJOI2006]物流运输trans
1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4242 Solved: 1765[Submit] ...
- 后缀.aspx.cs是什么软件的生成的
ASP.NET技术 aspx ——ASP.NET文件(网页) aspx.cs ——ASP.NET文件中的代码页(与上面的对应) asp.net是微软公司推出的新一代网站程序开发架构,ASP.NET技术 ...
- ZOJ(ZJU) 1002 Fire Net(深搜)
Suppose that we have a square city with straight streets. A map of a city is a square board with n r ...
- 2014-08-22 关于Response、Request等对象在cs文件中的使用
今天是在吾索实习的第33天.已经有一段时间没写过博客了,今天突然想起个值得分享的东西,所以又华丽地回归了. 废话不多说了,直奔主题.我们会发现,在我们在cs文件中,直接使用Response.Reque ...
- c宏的MAX函数
今天从香山上面回来累的跟傻逼一样,回来问了一下胡总的阿里面试的问题.然后其中有一个是宏写max函数.胡总说不好写,然后我就去洗澡了. 洗澡的时候感觉不对啊,回来写了一个: #define MAX(a, ...
- iOS图片处理
http://www.cnblogs.com/kenshincui/p/3959951.html