浅谈javascript中的 “ && ” 和 “ || ”

yizhihongxing

浅谈JavaScript中的 “&&” 和 “||”

在JavaScript中,逻辑运算符包括“与”(&&)、“或”(||)及“非”(!)三种,其中“与”和“或”经常被用来作为条件判断语句中的关键字。本篇文章将会详细讲解“与”(&&)和“或”(||)这两个运算符的用法以及其常见应用场景。

“与”(&&)

在JavaScript中,“与”(&&)运算符表示假如其左侧的表达式为真,那么就执行右侧的表达式;反之,如果左侧表达式为假,则直接返回左侧表达式的值,而不再对右侧表达式进行求值。示例如下:

let num1 = 3;
let num2 = 4;

if (num1 < 5 && num2 > 3) {
   console.log("num1小于5且num2大于3");
}

在以上代码中,首先判断num1是否小于5,如果是,就继续判断num2是否大于3。由于num1小于5且num2大于3,所以会输出“num1小于5且num2大于3”。

另外一个经常用到“与”(&&)运算符的场景是进行函数的参数默认值设置,如下所示:

function doSomething(arg1, arg2) {
    arg1 = arg1 || "默认值1";
    arg2 = arg2 || "默认值2";
    console.log(arg1 + ", " + arg2);
}

doSomething();
// 输出: "默认值1, 默认值2"

doSomething("自定义值1", "自定义值2");
// 输出: "自定义值1, 自定义值2"

doSomething("自定义值1");
// 输出: "自定义值1, 默认值2"

在上面的示例代码中,当函数缺少某个参数时,通过使用“arg1 = arg1 || '默认值1'”来为其设置默认值,如果arg1已经存在,那么它将保留其原来的值,否则就会使用默认值“默认值1”。

“或”(||)

在JavaScript中,“或”(||)运算符表示假如其左侧的表达式为假,那么就执行右侧的表达式;反之,如果左侧表达式为真,则直接返回左侧表达式的值,而不再进行右侧表达式的求值。示例如下:

let num1 = 3;
let num2 = 4;

if (num1 > 5 || num2 > 3) {
   console.log("num1大于5或num2大于3");
}

在以上代码中,首先判断num1是否大于5,如果是,就不会再对num2进行求值,直接输出“num1大于5或num2大于3”。如果num1不大于5,则继续判断num2是否大于3,由于num2大于3,所以也会输出“num1大于5或num2大于3”。

另外一个常见的应用场景是使用“或”(||)运算符进行默认值的判断,例如:

let num1 = null;
let num2 = num1 || 0;

console.log(num2);
// 输出: 0

在以上代码中,由于num1为null,所以num2的值被设置为0。而如果num1不为null,则num2会被设置为num1的值。

总结

“与”(&&)和“或”(||)是JavaScript中最常用的两个逻辑运算符,它们的应用场景非常多。在使用它们时,需要注意它们的优先级,以及它们的短路求值规则,否则可能会导致一些被忽略的问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈javascript中的 “ && ” 和 “ || ” - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • Javascript核心读书有感之语句

    Javascript核心读书有感之语句是一本深入解析Javascript核心概念的书籍。它从语言的基础概念出发,逐步深入,介绍了Javascript的各种高级特性、编程技巧和最佳实践。以下是该书的完整攻略。 了解Javascript语言特性 了解Javascript中的基本类型、变量和函数的基础知识是非常重要的。只有掌握了这些基础知识,才能更好地理解和应用J…

    JavaScript 2023年6月10日
    00
  • 关于Iframe如何跨域访问Cookie和Session的解决方法

    关于Iframe如何跨域访问Cookie和Session的解决方法,通常有以下两种方式: 1.使用后端代理 使用后端代理的方式是通过后端站点中间转发的方式,将前端站点的请求中所需要用到的Cookie和Session内容在后端进行获取,然后在响应时一并返回给前端站点,从而实现跨域访问。这种方式依赖于后端站点的代码,通常需要在后端站点中手动编写或者引入第三方库来…

    JavaScript 2023年6月11日
    00
  • js判断一个字符串是否包含一个子串的方法

    要判断一个字符串是否包含一个子串,可以使用JavaScript中的indexOf()方法或者includes()方法。 使用indexOf()方法 indexOf()方法可以在一个字符串中查找给定的子串,如果找到了则返回该子串第一次出现的位置,如果没有找到则返回-1。因此,我们可以根据该方法返回的结果来判断该子串是否包含在目标字符串中。 代码示例: let …

    JavaScript 2023年5月28日
    00
  • 设置cookie指定时间失效(实例代码)

    设置 cookie 失效时间是保持 Web 应用程序状态的关键技术之一。下面是如何在 PHP 中设置指定时间失效的 cookie 的完整攻略: 步骤 1:创建 cookie 要在 PHP 中设置 cookie,可以使用 setcookie() 函数。该函数的语法如下: setcookie(name, value, expire, path, domain, …

    JavaScript 2023年6月11日
    00
  • javascript完美实现给定日期返回上月日期的方法

    JavaScript完美实现给定日期返回上月日期的方法 如果你需要在JavaScript中获取一个日期的上个月日期,本文将为你提供两种方法。 方法一:日期计算 我们可以使用JavaScript的Date对象的setMonth()函数通过将当前月份减一来获得上个月的日期。 function getLastMonthDate(date) { var d = ne…

    JavaScript 2023年6月10日
    00
  • javascript实现日历控件(年月日关闭按钮)

    实现一个完整的日历控件包括以下几个步骤: 创建HTML结构 在HTML文件中创建一个日历控件的容器,例如: <div id="calendar"> <div class="header"> <span class="prev">&lt;</span&…

    JavaScript 2023年5月27日
    00
  • 如何用JS WebSocket实现简单聊天

    下面详细讲解如何用JS WebSocket实现简单聊天的完整攻略: 什么是WebSocket? WebSocket是HTML5提出的一种应用层协议,它是HTML5新引入的特性,使得浏览器和Web服务器之间可以进行双向通信,而不需要通过轮询的方式模拟实现。WebSocket协议通过一次 HTTP 握手,然后交换数据。 如何使用WebSocket实现简单的聊天?…

    JavaScript 2023年6月11日
    00
  • 15分钟深入了解JS继承分类、原理与用法

    下面是关于“15分钟深入了解JS继承分类、原理与用法”的完整攻略。 一、JS继承分类 JS继承可以分为以下几种类型: 原型链继承 借用构造函数继承 组合继承 原型式继承 寄生式继承 寄生组合式继承 二、JS继承原理 JS中的继承是基于原型的,每个对象都有__proto__属性,该属性指向对象的原型对象,原型对象又有__proto__属性,依次形成了一个原型链…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部