逻辑运算符,与,或,非,以及优先级。
常见的比较运算符有:&& , | | ,>,<,>=,<=,!=,==,===
逻辑运算符返回的结果一般是Boolean值
> < , >=,< =
var a,b,c;
a=1;
b=2;
c=a>b;
c返回的是false
当对字符串比较的时候,会比较字符串的ASCII码,如果字符串比较长就会先比较第一位,如果相同,然后比较第二位的。
console.log('ab' < 'ba');//true
当字符串与数字进行比较的时候,会先将字符串按照Number的方法转换成数字再进行比较。如果转换成NaN则永远是false
// 无法转换成数字,为NaNconsole.log('22abc' < 11);//falseconsole.log('22abc' > 11);//false// 可以转换成数字console.log('22' > 11);//true
==,的比较,先转换数据类型为同一种再进行比较。如字符串与数值比较就会先将字符串传换成数字。引用类型的数据比较的是内存地址。
// ==console.log('123' == 123);// trueconsole.log('123abc' == 123);// falseconsole.log(123 == 123);// trueconsole.log('===========');// 关键字console.log(undefined == 'undefined');//falseconsole.log(null == 'null');//falseconsole.log(NaN == NaN);//falseconsole.log(undefined == undefined);//trueconsole.log(null == null);// trueconsole.log(NaN == NaN);// false
这里需要注意的是NaN,它不等于任何东西,甚至是自己与自己相比也是不相等。
===,会先进行类型的比较,如果不是同一类型就直接返回false
console.log(123 === 123);// trueconsole.log(123 === '123');// falseconsole.log(123 === 'abc');// falseconsole.log(null === null);// trueconsole.log(undefined === undefined);// trueconsole.log(NaN === NaN); // falseconsole.log({name: '张浩'} === {name: '张浩'});//false
逻辑运算符:&&,|| ,!
逻辑运算符也是返回一个结果,但是一定是Boolean类型的值。
在进行逻辑运算时系统会默认把undefined ,null,NaN,“”,0,false 当成false
1、&& 表达式两个都表达式,会首先看第一个表达式换成Boolean值得结果,如果第一个转换成true,那么就会直接返回第二个表达式(或者说执行),如果是false,就直接返回第一个表达式(执行)。
console.log( 1-1 && 1+2);// 0console.log( 1 && 1+2);// 3console.log( null && true);// null
如果遇到多个&符号,他就会逐个判断,只要遇到值为false的就停下返回这个表达式。
2、|| 符号
与&&是相反的,他会向后查询Boolean值为true的表达式或值,如果找到true的就直接返回,如果没有找到就返回最后一个。
console.log( null || false || 1+1 || 0);// 2
|| 一般用做兼容性,判断浏览器是否支持当前的额对象或者函数。
3、! 把表达式变成boolean的值。
console.log(!1);// false
运算的优先级
逻辑运算符,与,或,非,以及优先级。相关推荐
- [ 操作系统 ] 假定在单CPU条件下有下列要执行的作业,用一个执行时间图描述在采用非抢占优先级算法时执行这些作业的情况;对于上述算法,各个作业的周转时间是多少?平均周转时间是多少?
假定在单CPU条件下有下列要执行的作业: 作业 到达时间 运行时间 优先级 1 0 10 2 2 1 4 3 3 2 3 5(高) (1)用一个执行时间图描述在采用非抢占优先级算法时执行这些作业的情况 ...
- 逻辑运算符与或非(基础学习)
逻辑运算符与或非 "!"(逻辑非)."&&"(逻辑与)."||"(逻辑或)是三种逻辑运算符. 逻辑运算一般用于连接多个关系, ...
- 操作系统(五):FCFS/SJF/非抢占优先级/RR
操作系统(五):FCFS/SJF/非抢占优先级/RR 一.题目1(书上170页5.7) 5.4 5.4 Consider the following set of processes, with th ...
- 一分钟搞懂逻辑运算符(并且) , |(或者) , !(非) , ^(异或) , (短路与) , ||(短路或)之间的关系
逻辑运算符 逻辑功能 示例 &(并且) 有false则false 1 |(或者) 有true则true. 2 !(非) 非false则true,非true则false. 3 ^(异或) 相同为 ...
- 关于JS的逻辑运算符 与 或|| 非!
1.逻辑与(&&) (1)对于布尔值,只有都为true才返回true: (2)对于不是布尔值的情况则: 如果第一个操作数是对象,则返回第二个数 eg:va ...
- 【Matlab】Matlab基础入门
Matlab帮助系统 查询函数(知道函数名):help + 函数名 MATLAB联机帮助:helpwin 查询函数(不知道全部函数名,模糊查询):lookfor + 函数信息 运行MATLAB演示程序 ...
- C语言基础-笔记分享
C语言概述 1.C的起源和发展C --> C++ --> Java | C#面向过程 --> 面向对象 2.C的特点优点: 代码量小|速度快|功能强大缺点:危险性高|开发周期长|可移 ...
- c语言中逻辑非运算符的作用,C语言中逻辑运算符非!与或||的优先级怎么说?...
逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→||(或)记忆口诀:not(非)and(与)or(或)运算规则1)&&:当且仅当两个运算量的值都为 ...
- c语言取非和或的优先级,C语言中逻辑运算符非!与或||的优先级怎么说?...
逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非) → &&(与) → ||(或) 记忆口诀:not(非) and(与) or(或) 运算规则 1)&&:当且仅当 ...
- python逻辑运算符or的短路求值特性_[Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑...
好吧题目非常easy.可是有些细节还是挺有意思的. 题目是:计算今年是否是闰年,推断闰年条件,满足年份模400为0,或者模4为0可是模100不为0 答案是这种: import time #计算今年是否 ...
最新文章
- leetcode 72. 编辑距离
- 莫斯科保卫战之PHP-502 Bad Gateway
- Docker 微服务教程
- 开启redis远程客户端连接
- scrapy需要的xpath知识点
- IE下及标准浏览器下的图片旋转(二)—— Canvas(2)
- 计算机应用电子技术课程,中专计算机应用有什么课程
- Java并发编程笔记—基础知识—实用案例
- golang *time.Time类型转*timestamppb.Timestamp
- Elasticsearch--高级-映射mapping_添加行的字段映射---全文检索引擎ElasticSearch工作笔记018
- 云计算年度技术盛典,腾讯Techo Park开发者大会将在京召开
- 在Adobe Html5 Extension的使用Nodejs的问题
- typescript 第一弹
- scapy爬虫-Url去重
- 阿里iconfont图标的使用教程
- Linux下音乐播放器的实现
- imatest白平衡测试结果解析
- 通过periodic_task.periodic_task 实现周期性任务的原理
- MATLAB:读取nc文件并将nc文件转为tif文件输出
- Datav:从零开始的数据可视化大屏搭建系统
热门文章
- “你不认识我,那你干嘛插我的队?”
- Vitis-AI运行Emulation-HW神坑
- .net core 实现微信登陆
- 华为自研分布式时序数据库集群:初始GaussDB(for Influx)
- 如何制作一个简单的机械臂
- shell脚本编程学习笔记6(xdl)——字符串截取命令
- 传感器和Android平台的开放性结合在一起-传感器之家文章 - 传感器知识博客 - yuyangsensor - 和讯博客
- 有一条长阶梯:如果每步跨 2阶,那么最后剩 1 阶;如果每步跨 3 阶,那么最后剩 2 阶;如果每步跨 5 阶,那么最后剩 4 阶;如果每步跨 6 阶,那么最后剩 5 阶;只有当每步跨 7 阶时,最后
- translation的使用
- 笔记本电脑dns服务器没有响应怎么办,华硕笔记本重装系统后dns服务器未响应怎么办?...