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日

相关文章

  • JavaScript输出斐波那契数列的实现方法

    下面是详细的讲解“JavaScript输出斐波那契数列的实现方法”的完整攻略。 什么是斐波那契数列 斐波那契数列是指:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以递归的方式定义:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>=2,n∈N*>)。 实现方法 方法一:递归实现 递归实现斐波那契数列非常…

    JavaScript 2023年5月28日
    00
  • JS实现利用闭包判断Dom元素和滚动条的方向示例

    下面是“JS实现利用闭包判断Dom元素和滚动条的方向示例”的完整攻略。 什么是闭包? 在JavaScript中,当函数可以访问并操作其作用域之外的变量时,就产生了闭包。 在函数内部定义一个内部函数,在内部函数中访问了外部函数的变量时,就形成了一个闭包。这个内部函数可以访问到外部函数中定义的变量,即使外部函数已经执行结束,这些变量仍然继续存在。 闭包有助于隐藏…

    JavaScript 2023年6月10日
    00
  • javascript实现原生ajax的几种方法介绍

    针对“javascript实现原生ajax的几种方法介绍”,以下是完整的攻略,共分为四个部分:介绍、XMLHttpRequest方法、fetch方法和示例说明。 介绍 AJAX是异步JavaScript和XML(Asynchronous JavaScript and XML)的缩写,是一种在无需重新加载整个页面的情况下向服务器发送请求的技术。原生AJAX(也…

    JavaScript 2023年6月11日
    00
  • Javascript的常规数组和关联数组对比小结

    Javascript中的数组是一种非常重要的数据结构,它能够存储多个元素。在Javascript中,数组分为两种类型:常规数组和关联数组。那么,这两种数组有什么区别呢?接下来,我们将通过以下三个方面对它们进行比较。 数组的定义 在Javascript中,常规数组和关联数组的定义方式有所不同。常规数组的定义方式如下: const arr = [1, 2, 3,…

    JavaScript 2023年5月27日
    00
  • JavaScript面试中常考的字符串操作方法大全(包含ES6)

    JavaScript面试中常考的字符串操作方法大全(包含ES6) 1. 字符串长度 获取字符串长度可以使用length属性,例如: const str = ‘Hello World’; console.log(str.length); // 11 2. 字符串索引 可以使用方括号([])来访问字符串中的单个字符,例如: const str = ‘Hello …

    JavaScript 2023年5月28日
    00
  • JavaScript中setTimeout()的具体用法

    当我们需要在一段时间之后执行一些代码时,就可以使用JavaScript中的setTimeout()函数。setTimeout()在指定时间段后会执行一段代码。以下是setTimeout()函数的语法: setTimeout(function, milliseconds, param1, param2, …) 其中,第一个参数为需要执行的函数,第二个参数为…

    JavaScript 2023年6月10日
    00
  • js闭包所用的场合以及优缺点分析

    JS闭包是指函数可以访问当前环境外的变量,并在执行后保留对这些变量的引用。通俗的说,就是函数内部的函数可以访问函数外部函数的变量。下面我们来一步一步详细讲解JS闭包所用的场合以及优缺点分析。 什么是闭包 在JS中,每当创建一个函数,该函数就会创建一个作用域(scope)链。作用域链可以帮助函数在查找变量时,逐级向上进行查找,直到找到为止。而闭包,正是通过这个…

    JavaScript 2023年6月10日
    00
  • JavaScript中valueOf函数与toString方法深入理解

    JavaScript中valueOf函数与toString方法深入理解 JavaScript中的对象可以通过自身的函数或方法转换为原始值。其中,valueOf函数和toString方法都可以用来实现此目的。本文将深入探讨valueOf函数与toString方法的区别、使用场景、如何自定义和优先级等问题,并通过示例说明它们的使用方法。 区别 valueOf v…

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