问题:看到很多代码if(!!attr),为什么不直接写if(attr)?
其实这是一种更严谨的写法:请测试 typeof 5和typeof !!5的区别。!!的作用是把一个其他类型的变量转成的bool类型
下面主要讨论下逻辑运算符&&和||。
几乎所有语言中||和&&都遵循“短路”原理,如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。
js也遵循上述原则。但是比较有意思的是它们返回的值。
代码:var attr = true && 4 && “aaa”;
那么运行的结果attr就不是简单的true或这false,而是”aaa”
再来看看||:
代码:var attr = attr || “”;这个运算经常用来判断一个变量是否已定义,如果没有定义就给他一个初始值,这在给函数的参数定义一个默认值的时候比较有用。
(备:在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true)
if(a >=5){
alert("你好");
}
可以写成:
a >= 5 && alert("你好");
这样只需一行代码就搞定。但是需要注意的一点就是:js中||和&&的特性帮我们精简了代码的同时,也带来了代码可读性的降低。一方面精简js代码,能实质性的减少
网络流量,尤其是大量应用的js公用库。
分享到:
相关推荐
主要介绍了Java中&&与&,||与|的区别的相关资料,需要的朋友可以参考下
JS 中的 -- 与 && 运算符详解 在 JavaScript 中,-- 和 && 运算符是两个非常重要的逻辑运算符,它们在开发中被广泛应用。下面,我们将详细介绍这两个运算符的使用规则和应用场景。 规律与(&&) 规律与运算符 && ...
C#中(&&,||)与(&,|)是两种不同的逻辑运算符,它们之间的区别在于运算对象和运算结果。 一、(&&,||)逻辑运算符 (&&,||)逻辑运算符的运算对象是逻辑值,也就是True/False。&&相当于中文的并且,||相当于中文的或者。...
&&是逻辑与运算符,||是逻辑或运算符,都是逻辑运算符,两边只能是bool类型 &与| 既可以进行逻辑运算,又可以进行位运算,两边既可以是bool类型,又可以是数值类型 区别: if (A && B) 如果 A 为 false ,整个...
在编程语言中,逻辑运算符是用来处理布尔值(True 或 False)的运算,它们在决策结构如 if 语句中起到关键作用。本篇将详细阐述逻辑运算的真值表、if 语句的多种形式以及 if 语句的嵌套和 switch 语句的使用。 首先...
一句话区分运算符 | 和 ||,& 和 && 太长不看版: 结果上没有区别,运算过程中&两边都算,而 && 先算左侧,若左侧为 false 那么右侧就不运算了。 如何区分运算符 | 和 ||,& 和 &&? 首先,我们知道 | 和 & 定义为...
首先,我们来看“&&”运算符,也称为逻辑与运算符。它的特点是:如果两边的表达式都为真(非零、非空、非NaN、非false),则返回右边表达式的值;如果左边的表达式为假,则不考虑右边的表达式,直接返回左边的假值。...
今天在做逻辑运算符的时候遇到一个小问题一直转不过弯来,var a=(undefined&&123)||(3||5)的返回值是什么? 首先是||的返回值问题: ||的返回值会返回最早遇到非以下类型的值: NaN null undefined 0 false; 所以3||...
在 Matlab 中,if 和 while 语句中的逻辑与和逻辑或都是默认使用 short-circuit 形式。如果你希望在判断的时候,对 A 和 B 表达式都进行计算,就应该使用标准的&或者|。 此外,Matlab 中还有一些其他的运算符,如 +...
- `&&`:逻辑与运算符。当两边的变量都是`boolean`类型时,`&&`遵循短路逻辑。如果第一个条件`条件1`为`false`,那么第二个条件`条件2`将不会被评估,因为无论`条件2`的值如何,整个表达式的结果都已经确定为`false...
`&&`表示逻辑与,只有当`&&`左边的命令成功执行(返回值为0)时,`&&`右边的命令才会被执行。例如,`command1 && command2`,如果`command1`执行成功,`command2`才会被执行。这对于确保命令执行顺序和依赖性很有...
1. **逻辑与(&&)**:此运算符表示“并且”。当两个表达式都为真时,结果才为真。例如: ```csharp bool a = true; bool b = false; if (a && b) { Console.WriteLine("Both conditions are true."); } else { ...
这2个运算符经常用到,总是弄混,记录下。。。 a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行; a() || b() :如果执行a()后返回true,则...
本文将深入探讨JavaScript中的两个关键逻辑运算符——`&&`(逻辑与)和`||`(逻辑或),以及它们的优先级。 首先,`&&`运算符用于逻辑与操作。它的工作原理是,如果第一个操作数为真(非零、非`null`、非`undefined...
5.10_成员运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.11_身份运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.13_位运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
5.6_赋值运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读