泛谈JS逻辑判断选择器 || &&


Posted in Javascript onMay 24, 2019

前言

|| 与 &&在JS里与其它语言不一样,这是选择器运算符,而非逻辑运算符。
对于||来说,若判断为true,则返回第一个值,为false返回第二个值。
&&相反,若判断为 true,则返回第二个,为 false为返回第一个值。
绝对不是像其它语言那样返回true或false,而是会返回第一个值或第二个值。

简单的测试代码

先是true与false的测试,后将false改为数值0. 除了|| 与&&之外易让人疑惑外,JS里的假值表也算是个大疑点。

let A = true;
let B = true;
testLogic(A,B); 
A = true;
B = false;
testLogic(A,B); 
A = false;
B = true;
testLogic(A,B); 
A = false; 
B = false;
testLogic(A,B); 
/*假值表,以下值 可以被强制布尔转换为false,其它转换皆为true
undefined
null
false
+0,-0,NaN
"" 空字符串
其它皆为真值,如空对象{}
*/
console.log("-----------------next test ---------------");
A = true;
B = true;
testLogic(A,B);
A = true;
B = 0;
testLogic(A,B);
A = 0;
B = true;
testLogic(A,B);
A = 0; 
B = 0;
testLogic(A,B); 
function testLogic(A,B){
 if(A || B){
 console.log("A:",A,"B:",B,".A||B true:",A || B);
 }
 else
 {
 console.log("A:",A,"B:",B,".A||B flase:",A || B);
 }
 if(A && B){
 console.log("A:",A,"B:",B,".A&&B true:",A || B);
 }
 else
 {
 console.log("A:",A,"B:",B,".A&&B flase:",A && B);
 }
}

泛谈JS逻辑判断选择器 || &&

我写代码时我其实就只知道如何做到if 与逻辑判断实现其它语言一样的正常的效果:

结论是保证A与B的是true或false而不是其它值。

正常语言是这样的:

A B A||B A&&B
T T T T
T F T F
F T T F
F F F F

JS语言是这样的:返回的是A或B,只要保证A与B的是true或false而不是其它值,那么在使用上与正常语言逻辑一样。

A B A||B A&&B
T T A(T) B(T)
T F A(T) B(F)
F T B(T) A(F)
F F B(F) A(F)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
(function(){})()的用法与优点
Mar 11 Javascript
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
setInterval 和 setTimeout会产生内存溢出
Feb 15 Javascript
javascript+xml技术实现分页浏览
Jul 27 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 Javascript
json数据与字符串的相互转化示例
Sep 18 Javascript
jquery实现图片随机排列的方法
May 04 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
微信小程序日历弹窗选择器代码实例
May 09 Javascript
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
了解JavaScript中的选择器
May 24 #Javascript
Javascript通过控制类名更改样式
May 24 #Javascript
redux.js详解及基本使用
May 24 #Javascript
javascript获取元素的计算样式
May 24 #Javascript
运用js实现图层拖拽的功能
May 24 #Javascript
了解javascript中let和var及const关键字的区别
May 24 #Javascript
如何用原生js写一个弹窗消息提醒插件
May 24 #Javascript
You might like
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
vmware linux系统安装最新的php7图解
2019/04/14 PHP
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
python控制台显示时钟的示例
2014/02/24 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
Python BS4库的安装与使用详解
2018/08/08 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
wxPython实现列表增删改查功能
2019/11/19 Python
浅谈keras中loss与val_loss的关系
2020/06/22 Python
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
建筑公司文秘岗位职责
2013/11/29 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
大学军训的体会
2014/11/08 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
2015年招生工作总结
2015/05/04 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书