资讯专栏INFORMATION COLUMN

JS 逻辑操作符 && 和 || 用法

ctriptech / 2409人阅读

摘要:包括不为不为空,返回的都是第二个值。当第一个操作数求值为时,则会返回第一个操作数。和下判断加载的情况,并设置回调函数。当不满足,判断,不满足,判断一直进行下去

练习题

首先来做几个题目:

var found = true;
var result = (found && someUndefinedVariable);
console.log(result);

var found = false;
var result = (found || someUndefinedVariable);
console.log(result);

var result = (1 && 2);
console.log(result);

var result = (0 || {a: 1});
console.log(result);

不知道答案的同学可以去控制台里面输出答案看一看。

其中第一题,因为foundtrue,则接下来要对someUndefinedVariable这个变量求值,但是未定义,因此会报错,第二题foundfalse,则接下来要对someUndefinedVariable这个变量求值,同样未定义,也会报错。第三题输出2,第四题输出0

&& 的用法总结

当有个操作数不是布尔值的情况时,逻辑与不一定会返回布尔值:

当第一个操作数为对象时,则返回第二个操作数;

当第二个操作数为对象时,则只有在第一个操作数的求值结果为true的情况下才会返回该对象;

如果两个操作数都是对象,则返回第二个操作数;

如果有一个操作数是null,则返回null

如果有一个操作数是NaN,则返回NaN

如果有一个操作数是undefined,则返回undefined.

简便的记忆方法,当第一个操作数的求值为true时。包括num不为0,str不为空,true,object,返回的都是第二个值。当第一个操作数求值为false时,则会返回第一个操作数。

|| 的用法总结

如果第一个操作数是对象,则返回第一个操作数

如果两个操作数都是对象,则返回第一个操作数

如果两个操作数都是null,则返回null;

如果两个操作数都是NaN,则返回NaN

如果两个操作数都是undefined,则返回undefined

如果第一个操作数的求值结构为false,则返回第二个操作数

简便的记忆方法,第一个操作符是原始类型的str(且不为空)num(且不为0)trueobjectundefinedNaNnull,那么都返回第一个操作数。

一般 ||用来处理给变量未赋值或设置初始值的情况:

function(name) {
    var _name = name || "XRne";
}
//当变量name未赋值的时候,默认的值为`XRene`。

script.onload = script.onreadystatechange = function(cb) {
    if(!this.readState || /^complete|loaded$/.test(this.readtState)) {
        cb();
    }
}
//FF和IE下判断script加载的情况,并设置回调函数。


A || B || C .....
//当A不满足,判断B,B不满足,判断C一直进行下去

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79230.html

相关文章

  • Vue作为组件在前端项目中的应用&Vue.set 的用法

    摘要:业务背景是,在的前端项目中加入作为组件。但随着需要登录的页面的增多,多个页面都需要添加相同的,,以及前端登录逻辑,所以在原先的项目中添加了,将重复的添加的代码加入到了文件中,然后通过方法将对象挂载到某个的节点上。 业务背景是,在jq的前端项目中加入Vue作为组件。 原本的登录功能是每个页面加一个登录弹窗(手机号+验证码验证登录),然后发ajax请求到后端,登录成功后再进行一些操作。 但...

    hersion 评论0 收藏0
  • 如何用ahooks控制时机的hook?

      本篇主要和大家沟通关于ahooks ,我们可以理解为加深对 React hooks 的了解。  我们先说下关于抽象自定义 hooks。构建属于自己的 React hooks 工具库。  其实我们应该培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择。  注:本系列对 ahooks 的源码解析是基于v3.3.13。  现在就进入主题用ahooks 来封装 React要注意的时机?  Fun...

    3403771864 评论0 收藏0
  • 常用列表页常见hook封装解析

      我们今天来讲讲关于ahooks 源码,我们目标主要有以下几点:  深入了解 React hooks。  明白如何抽象自定义 hooks,且可以构建属于自己的 React hooks 工具库。  小建议:培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择。  列表页常见元素  后台管理系统中常见典型列表页包括筛选表单项、Table表格、Pagination分页这三部分。  针对使用 Ant...

    3403771864 评论0 收藏0
  • Java编程基础03——进制运算&数据类型&变量

    摘要:逻辑运算符的基本用法逻辑运算符有哪些与并且或异或非案例演示逻辑运算符的基本用法注意事项逻辑运算符一般用于连接类型的表达式或者值。表达式就是用运算符把常量或者变量连接起来的符合语法的式子。特点偶数个不改变本身。 03.01_(逻辑运算符的基本用法)* A:逻辑运算符有哪些 int a,b,c &: 与 并且and, |: 或 or ^: 异或 !: 非 &&,|| B:案例演...

    gekylin 评论0 收藏0

发表评论

0条评论

ctriptech

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<