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 事件记录使用说明
Oct 20 Javascript
jquery拖动插件(jquery.drag)使用介绍
Jun 18 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
Aug 21 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
Aug 27 Javascript
实例讲解jquery与json的结合
Jan 07 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
Vue props用法详解(小结)
Jul 03 Javascript
vuejs 制作背景淡入淡出切换动画的实例
Sep 01 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
vue跳转页面的几种方法(推荐)
Mar 26 Javascript
微信小程序实现电子签名并导出图片
May 27 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 中使用随机数的三个步骤
2006/10/09 PHP
Codeigniter购物车类不能添加中文的解决方法
2014/11/29 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
JS实现div居中示例
2014/04/17 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
vue router demo详解
2017/10/13 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
Python通过future处理并发问题
2017/10/17 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
Python语言异常处理测试过程解析
2020/01/08 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
办公文员的工作岗位职责
2013/11/12 职场文书
人事文员岗位职责
2014/02/16 职场文书
给公司的建议书范文
2014/05/13 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
房屋出售授权委托书
2014/10/12 职场文书