当前位置: 首页 > 面试题库 >

在Javascript中,当变量声明中包含逻辑运算符时,这意味着什么?

单喜
2023-03-14
问题内容

鉴于这段JavaScript代码…

var a;
var b = null;
var c = undefined;
var d = 4;
var e = 'five';

var f = a || b || c || d || e;

alert(f); // 4

有人可以向我解释这种技术叫什么(我的最佳猜测是这个问题的标题!)?以及它如何/为什么确切起作用?

我的理解是,f将为变量分配第一个变量的最接近的值(从左到右),该变量的值不为null或未定义,但是我没有设法找到有关此技术的大量参考资料,并且看到它用了很多。

另外,这项技术是否专门针对JavaScript?我知道在PHP中执行类似操作会导致f具有真正的布尔值,而不是其d自身值。


问题答案:

如果变量是falsy,则可以指定一个默认值,在这种情况下为的值。yx

JavaScript中的布尔运算符可以返回操作数,而不是像其他语言一样总是返回布尔结果。

||如果第一个操作数为falsy,则逻辑OR运算符()返回其第二个操作数的值,否则返回第一个操作数的值。

例如:

"foo" || "bar"; // returns "foo"
false || "bar"; // returns "bar"

Falsy值是谁要挟到false布尔上下文中使用时,它们是0nullu``ndefined,一个空字符串,NaN当然false。



 类似资料:
  • 我想创建一个

  • 本文向大家介绍什么是JavaScript中的逻辑运算符?,包括了什么是JavaScript中的逻辑运算符?的使用技巧和注意事项,需要的朋友参考一下 JavaScript支持以下逻辑运算符。假设变量A持有10,变量B持有20,那么, 序号 运算符和说明 1 &&(逻辑与) 如果两个操作数都不为零,则条件变为true。 例如:(A && B)是真的。 2 | | (逻辑或) 如果两个操作数中的任何一个

  • 问题内容: 下面是代码片段。 有人可以向我解释@符号在Java中的含义吗? 问题答案: 这是一个注释。 注释是元数据的一种形式。它们提供的程序数据不属于程序本身。注释对其注释的代码的操作没有直接影响。 注释确实会影响工具和库对待程序的方式,进而会影响正在运行的程序的语义。可以从源文件,类文件中读取注释,也可以在运行时从中读取注释。

  • 我知道有一个几乎类似的问题,在打字脚本中,用尖括号“<>”括一个类意味着什么? 但是当我发现它在一个接口中以一种复杂的方式(对于新手来说)声明一个函数时,我仍然感到困惑。 尖括号被多次使用(甚至是递归使用)。我怎么看?

  • 通读ANSI C Yacc语法规范后,我注意到以下内容都是有效的: 这对我来说似乎很奇怪,因为我对类型的理解表明这些变量都没有类型。这些是什么意思?如何检查它们的类型?分配了多少内存?

  • 逻辑运算符通常用于布尔型(逻辑)值。这种情况下,它们返回一个布尔值。然而,&& 和 || 运算符会返回一个指定操作数的值,因此,这些运算符也用于非布尔值。这时,它们也就会返回一个非布尔型值。—— MDN 逻辑运算符用于逻辑运算。如变量 num 要大于2同时也要小于 7,这里的同时就是一种逻辑运算。 JavaScript 中的逻辑运算有三种: && 与 (并且) || 或 (或者) ! 非 (取反)