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

yizhihongxing

下面是关于“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日

相关文章

  • Javascript 强制类型转换函数

    Javascript 有两种类型转换:隐式类型转换和强制类型转换。强制类型转换是通过一些函数来实现,下面我将详细讲解 Javascript 中常用的强制类型转换函数及其使用方法。 字符串转为数字 Javascript 中,使用 Number() 函数可以将一个字符串转为数字。如果字符串中包含非数字字符,则会返回 NaN。 示例 1: let str1 = &…

    JavaScript 2023年5月27日
    00
  • 用JS在浏览器中创建下载文件

    要在浏览器中创建并下载文件,可以通过以下步骤: 创建Blob对象 在JavaScript中,Blob对象代表了一个不可变的、原始数据的类文件对象,可以用它创建一个新文件。 例如,以下代码将创建一个新的Blob对象: const data = "Hello, World!" const blob = new Blob([data], { t…

    JavaScript 2023年5月27日
    00
  • JavaScript适配器模式原理与用法实例详解

    JavaScript适配器模式原理与用法实例详解 适配器模式基本概念 适配器模式是一种结构型设计模式,在现实生活中也经常出现。例如旅游适配器,通过把不同国家的电源插头转换成自己国家的电源插头来实现电器的兼容。 在JavaScript中,适配器模式的应用场景也很广泛,主要用于处理一些不兼容的接口或函数调用,,只要是两个或多个对象之间接口不兼容的情况都可以使用适…

    JavaScript 2023年6月11日
    00
  • JavaScript 跨域之POST实现方法

    下面是详细讲解“JavaScript 跨域之POST实现方法”的完整攻略。 什么是跨域? 跨域是指在同一页面中,页面中的资源通过不同的域名来访问。比如,你的页面在 A 域名,但是想要访问 B 域名上的资源,这就是跨域。 常见的跨域问题 Ajax 跨域请求 iframe 跨域嵌套 脚本跨域请求 解决方法 跨域问题的解决方法有很多,这里重点介绍两种解决 Ajax…

    JavaScript 2023年5月27日
    00
  • JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例

    JavaScript 斐波那契数列 倒序输出 斐波那契数列 斐波那契数列是指从 0 和 1 开始,之后的数都是前面两个数之和。例如: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, … 斐波那契数列在计算机科学中有广泛的应用,例如在算法分析、密码学等领域。 倒序输出 倒序输出指将正序输出的序列反转,例如将 [1, 2, 3] 输出为 […

    JavaScript 2023年5月28日
    00
  • JavaScript中清空数组的三种方法分享

    下面是详细讲解“JavaScript中清空数组的三种方法分享”的完整攻略。 JavaScript中清空数组的三种方法分享 在JavaScript中,我们经常需要清空一个数组,以便重新填充数据。本文将介绍三种方法来清空一个数组。 方法一:重置数组变量 该方法是最简单的一种方法。只需要将数组变量重新赋值为空数组即可清空该数组。 let arr = [1, 2, …

    JavaScript 2023年5月27日
    00
  • Flash & Ajax 操作 XML 实例:无刷新分页

    Flash & Ajax 操作 XML 实例:无刷新分页 介绍 Flash和Ajax都支持与服务器进行异步数据交换,做网站时常常会用到无刷新分页这个功能。本文将介绍在Flash和Ajax协作下实现无刷新分页的完整攻略。 步骤 1. 创建XML文件 首先创建一份XML文件,用于存储需要分页显示的数据。例如: <pages> <page…

    JavaScript 2023年6月11日
    00
  • 理解JavaScript事件对象

    理解JavaScript事件对象在事件处理中是非常重要的。在JavaScript中,事件对象(Event Object)是事件处理函数中的第一个参数。当特定事件被触发时,浏览器会自动创建事件对象(Event Object)。开发者可以使用该对象在事件处理函数中访问事件的详细信息,例如鼠标位置,按键,以及事件类型等。 JavaScript事件对象的属性 事件对…

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