js 与或运算符 || && 妙用

下面是关于“JS 与或运算符 || && 妙用”的完整攻略,包含两个示例说明:

一、JS 与或运算符概述

在JS中,&&和||是常用的逻辑运算符,它们可以将多个条件判断合并在一起。在编写条件判断语句时,通过巧妙地使用逻辑运算符,可以让代码更加简洁、易懂,提高开发效率。

1.1 逻辑与运算符(&&)

逻辑与运算符用双"&&"符号表示,当两个表达式都为真时返回真,否则返回假。例如:

if (a > 0 && b < 10) {
  // 代码块
}

上面的代码判断a是否大于0,b是否小于10,只有当两个条件都满足时,才执行代码块。

1.2 逻辑或运算符(||)

逻辑或运算符用双"||"符号表示,当两个表达式中有一个为真时返回真,否则返回假。例如:

if (a == 0 || b == 10) {
  // 代码块
}

上面的代码判断a是否等于0或b是否等于10,只有满足其中一个条件时,才执行代码块。

1.3 短路特性

在使用逻辑运算符时,有一种特性称为短路特性。当使用逻辑与(&&)时,如果第一个表达式为假,则不会再执行第二个表达式,直接返回假;而当使用逻辑或(||)时,如果第一个表达式为真,则不会再执行第二个表达式,直接返回真。

下面将详细介绍如何利用逻辑与、或运算符的特性来简化代码。

二、妙用——实现参数默认值

在JS中,可以使用函数默认参数来定义函数的默认值。例如:

function multiply(a, b = 1) {
  return a * b;
}

console.log(multiply(2)); // 2

上面的代码中,如果只传入一个参数a,函数将会自动为参数b赋值1,这样不需要特别判断参数b是否存在。

但是,在某些场景下,需要判断多个参数中是否存在空值,并为这些参数设置合适的默认值。这时就可以使用逻辑或(||)的特性来实现。

例如,下面的代码实现了将传入的参数转为布尔值,若为空,则自动转为false:

function foo(param) {
  param = param || false;
  return param;
}

上面的代码中,如果参数param没有传入值,则param为undefined,undefined || false返回值为false,因此将param赋值为false;如果传入了参数值,则param为参数值,param || false返回值为参数值,因此将param赋值为参数值。

三、妙用——实现连续赋值

在JS中,可以通过以下方式实现多个变量赋相同的值:

var a = 1;
var b = 1;
var c = 1;

上面的代码中,三个变量都赋值为1。

但是,如果需要将多个变量赋值为不同的值,上面的方式则显得冗长且不易维护。这时可以使用逻辑与(&&)的特性来简化代码。

例如,下面的代码实现了将多个变量同时赋值:

var a, b, c;
a = b = c = 1 && 2 && 3;
console.log(a, b, c); // 3 3 3

上面的代码中,&&运算符可实现连续判断,只有前一个值为真时才会进行下一个判断,因此最后会将a、b、c三个变量同时赋值为3。

总结

以上是关于JS 与或运算符的用法,在实际开发中可以通过逻辑与、或运算符的特性来简化代码,提高开发效率。其中,通过使用逻辑或可以实现参数默认值的功能,通过使用逻辑与可以实现连续赋值的功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 与或运算符 || && 妙用 - Python技术站

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

相关文章

  • JS取request值以及自动执行使用示例

    当我们需要从前端页面向后台传递数据时,通常都需要通过url传递一些参数。而后台处理这些参数时,就需要通过解析请求中包含的请求体(body)或请求头(header)来获取这些参数值。下面就来讲解一下JS如何取得request中的值。 一、JS获取URL参数 在前端页面中,我们可以通过获取window.location对象来获取当前url。而当前url中所包含的…

    JavaScript 2023年6月11日
    00
  • js 中获取制定的cook信息实现方法

    获取指定的 cookie 信息需要以下步骤: 使用document.cookie获取所有的 cookie 信息。 将获取到的 cookie 信息字符串转换为数组形式。 遍历 cookie 数组,检查指定的 cookie 名称是否存在。 如果指定的 cookie 存在,使用正则表达式取出对应的值并返回。 下面是详细的实现过程: 步骤1:使用 document.…

    JavaScript 2023年6月11日
    00
  • javascript 基础简介 适合新手学习

    JavaScript 基础简介 适合新手学习 JavaScript 是一种广泛应用于编写网页脚本的编程语言。学习 JavaScript 对于新手来说是一项基础工作,本文章为新手介绍 JavaScript 的基础语法、数据类型、流程控制以及实例应用。 JavaScript 基础语法 JavaScript 代码可嵌入 HTML 页面的 \ 标签中。有两种方式,一…

    JavaScript 2023年5月18日
    00
  • Javascript Date constructor 属性

    以下是关于JavaScript Date对象的constructor属性的完整攻略。 JavaScript Date对象的constructor属性 JavaScript Date对象的constructor属性返回对创建该对象的构造函数的引用。该属性可用于检查对象是否为Date类型。 下面是使用Date对象的constructor属性的示例: var da…

    JavaScript 2023年5月11日
    00
  • 学习JavaScript设计模式(接口)

    学习JavaScript设计模式(接口)的完整攻略 什么是接口? 在JavaScript中,接口是一种抽象的概念,用于定义对象应该具有哪些方法。接口只定义方法名和参数,而没有具体的实现。 接口的作用 接口用于规范对象的行为,可以避免代码混乱和不可预测性。它定义了一种契约,约束了对象应该具有哪些方法。使用接口可以使代码更加灵活、可维护和可扩展。 如何定义接口?…

    JavaScript 2023年6月1日
    00
  • Javascript运行机制之Event Loop

    让我来为您讲解Javascript运行机制之Event Loop的完整攻略。 什么是Event Loop Event Loop(事件循环)是指在Javascript的运行期间,用于处理异步操作的一种机制。其中异步操作包括setTimeout、Promise、DOM事件等等。 当Javascript代码遇到异步操作的时候,会将其放入事件队列(Event Que…

    JavaScript 2023年6月11日
    00
  • JavaScript实现的图片3D展示空间(3DRoom)

    下面是针对“JavaScript实现的图片3D展示空间(3DRoom)”的完整攻略: 简介 “JavaScript实现的图片3D展示空间(3DRoom)”是基于HTML、CSS和JavaScript技术实现的一种图片3D展示方式。它可以将图片以独特的方式展现出来,使用户有一种身临其境的感觉。本攻略将介绍如何实现这种效果。 步骤 搭建HTML骨架 要实现“Ja…

    JavaScript 2023年6月10日
    00
  • Bootstrap源码解读表单(2)

    关于“Bootstrap源码解读表单(2)”这篇文章,主要是对Bootstrap框架中的表单组件的源码分析和实现方法进行了详细讲解。下面是我对这篇文章的完整攻略: 简介 此文章是 Bootstrap 源码解读系列的第 2 篇,主要介绍如何自定义表单组件,以及其中用到的几个重要的 CSS 类。 自定义表单组件 Bootstrap 的表单组件样式是十分灵活的,可…

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