该文属于原创,原文出自http://www.pm-road.com/index.php/2014/09/13/102/
之前有一个同事去面试,面试过程中碰到这样一个问题:
在js中写出如下的答案 :
var a = 2;
var b = 3;
var andflag = a && b ;
var orflag = a || b;
问andflag 和orflag 分别是什么?
起初我认为: andflag 和orflag 的值都为 true; 毕竟 && 和 || 都是求Boolean ,后来发现,我错了。
答案应该是 andflag = 3,orflag = 2;
原因是这样的:
在运算过程中,首先js 会将 && 和|| 两边的值转成Boolean 类型,然后再算值 ,&&运算如果返回true,则取后面的值,如果|| 返回true,则取前面的值 , 而其中数值转换成boolean 的规则 是:
对象、非零整数、非空字符串返回true,
其它为false ;
a && b 的运算就是 :因为 a 和 b全是非零整数,所以 a 和 b 也就是true ,而 true && true 返回 true ,则取后面的b ,同理 a 和b 全是非零整数,a 和b 全是true ,则true || true 返回 true ,取|| 前面的值 也就是2;
同样:该逻辑运算符支持短路原则:
如 var a = “” || null || 3 || 4 —-> var a = fasel || false || true || true 结果为true 则返回第一个true,即是3
var b = 4 && 5 && null && 0 ——> var b = true && true && false && false 结果是false 则返回第一个false 即是null .
相关推荐
今天在做逻辑运算符的时候遇到一个小问题一直转不过弯来,var a=(undefined&&123)||(3||5)的返回值是什么? 首先是||的返回值问题: ||的返回值会返回最早遇到非以下类型的值: NaN null undefined 0 false; 所以3||...
在JavaScript中,逻辑运算符是处理布尔值的基本工具之一,主要包含三种:逻辑与(&&), 逻辑或(||) 和逻辑非(!)。本篇文章主要聚焦于逻辑与和逻辑或运算符,在数字作为操作数时的特性及行为。 ### 一、逻辑与(&&)...
JavaScript中的逻辑运算符&&和||用于进行布尔逻辑运算,它们在编程中非常常见。这些运算符在进行逻辑判断时,会根据条件的不同返回不同的值。具体来说,&&运算符要求两边的表达式都为真时才返回真,而||运算符只要求...
JS中的逻辑运算符包括逻辑与(&&)和逻辑或(||),它们是用于执行逻辑关系的比较运算符。它们在编程中非常重要,尤其是在条件语句中,用于在多个条件之间进行逻辑判断。 逻辑与(&&)运算符的特点是,只有当两个操作数都...
与C、Java不同的是,JavaScript中逻辑与(&&)和逻辑或(||)操作符可以应用在任何值上,而操作结束后返回的也不一定是boolean值。 逻辑与&&的处理规则 JavaScript中&&的处理规则是这样的: 1.判断第一个值是否为Falsy。...
JS 中的 -- 与 && 运算符详解 ...规律与 && 和规律或 || 运算符是 JavaScript 中非常重要的逻辑运算符,它们在开发中有很多应用场景。了解它们的使用规则和应用场景,可以帮助开发者更好地编写代码,提高开发效率。
JavaScript中的逻辑运算符`&&`和`||`通常用于逻辑判断,但在某些场景下,它们还可以作为巧妙的控制流程工具,这就是所谓的“另类用法”。这种用法可以帮助我们写出更简洁、高效的代码。 首先,我们来看`&&`运算符的...
在JavaScript中,逻辑判断选择器`||`和`&&`的使用与许多其他编程语言中的用法存在区别。这两个操作符在JavaScript中被视为选择器运算符,而不是纯粹的逻辑运算符,它们在执行逻辑判断时,会返回第一个操作数或第二个...
本文将详细解释JavaScript中的两种常见的逻辑运算符&&(与)和||(或)的使用方法和细节。 首先,逻辑与运算符&&用于判断两个条件表达式是否都为真(true)。如果两个条件都为真,那么&&运算符的结果也为真;如果...
在JavaScript中,布尔操作符`||`(逻辑或)和`&&`(逻辑与)是常见的逻辑操作符,用于处理布尔值的运算。它们在编写条件语句和表达式时非常有用,并且可以根据操作符的特性来简化代码。以下是对这两个操作符使用技巧...
在JavaScript中,“&&”和“||”操作符是逻辑运算符,它们被广泛用于条件判断和数据处理。这里我们将深入探讨这两个操作符的工作原理及其在实际编程中的应用。 首先,让我们来看看“||”(逻辑或)操作符。从表面上...
按位与或非和逻辑与或非的区别 定义: 按位与或非是对计算机位的操作,属于计算机二进制运算的操作。——位操作符 逻辑与或非是对boolean(布尔)值的操作。——布尔操作符 操作符: 按位 与(&) 或(|) 非(~)...
在JavaScript中,逻辑与运算符“&&”和逻辑或运算符“||”是常用的运算符,它们通常用于条件语句中,但由于它们的“短路”特性,在很多情况下可以通过它们来精简代码。逻辑与运算符“&&”会在其左操作数为false时...
JavaScript中的短路逻辑是编程中一个重要的概念,尤其在处理条件判断和复合表达式时非常常见。这个概念主要涉及到逻辑与(&&)和逻辑或(||)运算符。在JavaScript中,这两个运算符不仅用于逻辑判断,还有特殊的行为...
在JavaScript逻辑运算中,我们可以通过这些运算符简化代码。例如,考虑一个根据学生分数决定等级的例子。原始的实现可能需要多个if-else语句或switch语句: ```javascript var score = 90; var grade = ''; if...