JavaScript中的逻辑判断符&&、||与!介绍


Posted in Javascript onDecember 31, 2014

与C、Java等语言一样,JavaScript中可以用&&、||、!三个逻辑判断符来对boolean值进行逻辑判断。与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。

逻辑与&&的处理规则

JavaScript中&&的处理规则是这样的:

1.判断第一个值是否为Falsy。如果为Falsy,则直接返回第一个值(不一定为boolean类型)。
2.如果第一个值为Truthy,则直接返回第二个值(不一定为boolean类型)。

var o = {x:1, y:2};

console.log(o && o.y);//2

console.log(null && x);//null

逻辑或||的处理规则

与&&操作符类似,JavaScript中||的处理规则是这样的:

1.判断第一个值是否为Truthy。如果为Truthy,则直接返回第一个值(不一定为boolean类型)。
2.如果第一个值为Falsy,则直接返回第二个值(不一定为boolean类型)。

||操作符的这种行为使得JavaScript中一些快捷写法成为现实:

1. 从一系列值中获取第一个Truthy值:

var a = null;

var b = 42;

var v = a || b || 100;

console.log(v);//42

2. 对函数中的参数赋以默认值:
function test(p){

  p = p || {};//if p is not passed, make it an empty object.

}

与&&和||不同,!操作符的行为与C、Java等语言是一致的,只返回boolean值(true或false)。
Javascript 相关文章推荐
JavaScript静态的动态
Sep 18 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
jQuery实现Email邮箱地址自动补全功能代码
Nov 03 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
微信小程序 Image API实例详解
Sep 30 Javascript
js判断手机号是否正确并返回的实现代码
Jan 17 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
angular指令笔记ng-options的使用方法
Sep 18 Javascript
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
学习使用ExpressJS 4.0中的新Router的用法
Nov 06 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 #Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 #Javascript
JavaScript中的异常捕捉介绍
Dec 31 #Javascript
JavaScript中对象介绍
Dec 31 #Javascript
JavaScript中用字面量创建对象介绍
Dec 31 #Javascript
javascript设计模式之中介者模式Mediator
Dec 30 #Javascript
javascript实现window.print()去除页眉页脚
Dec 30 #Javascript
You might like
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
PHP代码加密的方法总结
2020/03/13 PHP
js创建元素(节点)示例
2014/01/02 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
如何编写jquery插件
2017/03/29 jQuery
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
python中常用检测字符串相关函数汇总
2015/04/15 Python
在Python中使用Neo4j数据库的教程
2015/04/16 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
python实现多进程代码示例
2018/10/31 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
通过实例解析Python return运行原理
2020/03/04 Python
Python如何用filter函数筛选数据
2020/03/05 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
中学生在校期间的自我评价分享
2013/11/13 职场文书
班级寄语大全
2014/04/10 职场文书
学期评语大全
2014/04/30 职场文书
鉴定评语大全
2014/05/05 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
小学生成绩单评语
2014/12/31 职场文书
素质拓展训练感想
2015/08/07 职场文书
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python