[转] 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. ...
随机推荐
- poj 2488A Knight's Journey
#include<cstdio> #include<cstring> #define MAXN 26 using namespace std; ,,-,,-,,-,}; ,-, ...
- 深入研究 Win32 结构化异常处理(好多相关文章)
摘要 就像人们常说的那样,Win32 结构化异常处理(SEH)是一个操作系统提供的服务.你能找到的所有关于 SEH 的文档讲的都是针对某个特定编译器的.建立在操作系统层之上的封装库.我将从 SEH 的 ...
- Linux定时运行与开机运行任务
http://os.51cto.com/art/200805/75144.htm at命令与crontab命令 http://os.51cto.com/art/201007/211874.htm ht ...
- GOTO (Transact-SQL)
将执行流更改到标签处. 跳过 GOTO 后面的 Transact-SQL 语句,并从标签位置继续处理. GOTO 语句和标签可在过程.批处理或语句块中的任何位置使用. GOTO 语句可嵌套使用. 语法 ...
- HBase协处理器
说明:类似于RDBMS中触发器,允许用户在region服务器上运行自己的代码,在客户端用户不用关心操作具体在哪进行 使用场景:权限控制,回调函数(钩子函数).扫描统计等 主要类:observer和en ...
- CentOS环境下,gdb调试中出现:Missing separate debuginfos, use: debuginfo-install.....的问题
在gdb调试时segmentation fault问题时,遇到下面的了问题: Program received signal SIGABRT, Aborted.0x00007ffff73eb925 i ...
- POJ1661 Help Jimmy
Help Jimmy Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9863 Accepted: 3201 Descriptio ...
- PHP学习之[第03讲]PHP5.4 语法、常量、变量、数据类型详解
1.<?php echo "Hello World"; ?> 2.//注释1,#注释2,/* 注释3 */ 3.系统常量: __FILE__默认常量,是指PHP程序文件 ...
- Context中嵌套<Environment>元素
环境条目 可以在Context中嵌套<Environment>元素,配置命名的值,这些值作为环境条目资源(Environment Entry Resource),对整个web应用可见.比 ...
- hduTHE MATRIX PROBLEM(差分约束)
题目请戳这里 题目大意:给一个n*m的矩阵,求是否存在这样两个序列:a1,a2...an,b1,b2,...,bm,使得矩阵的第i行乘以ai,第j列除以bj后,矩阵的每一个数都在L和U之间. 题目分析 ...