Compreensão de três camadas de || e && em js

|| O uso de && tem três níveis. A qual deles você pertence?

1. Julgamento de valor booleano simples

	var res = true && false
	第一个操作数   第二个操作数     结果
	   true           false       false
	   true           true         true
	   false          false        false
	   false           true         true

2. A expressão é convertida em um valor booleano para um julgamento (se e)

var a = 1;
var b = 2;
//如果a==3 并且b==2  那么就怎样怎样
var res =  a==3 && b==2  //false

3. Operador de curto-circuito (em caso afirmativo) (primeiro faça um julgamento e, em seguida, execute a seguinte declaração)

&& Se o primeiro número já é falso, é necessário continuar, obviamente não é necessário, porque o resultado já está claro. Mas se o primeiro número for verdadeiro, obviamente o segundo número deve ser executado.

var a = 1;
var b = 2;
//如果a判断是1 是true那么就去执行将b重新赋值为10。   第一个数是判断 第二个是操作
a==1 && b=10  

❏ Se o primeiro operando for um objeto, o segundo operando é retornado;
❏ Se o segundo operando for um objeto, o objeto só será retornado se o resultado da avaliação do primeiro operando for verdadeiro;
❏ Se ambos os operandos forem objetos, retorne o segundo operando;
❏ Se o primeiro operando for nulo, retorna nulo;
❏ Se o primeiro operando for NaN, retorna NaN;
❏ Se o primeiro operando for NaN, retorna NaN Se um operando for indefinido, retorna indefinido.

4. Valor de retorno

De acordo com o terceiro fato, pode-se saber que seu valor de retorno não é necessariamente um valor booleano, mas depende da expressão executada posteriormente

No desenvolvimento real, o valor de retorno de AND lógico não é importante, ele é usado principalmente para julgamento ou operação de curto-circuito (julgamento e execução)

5. O segundo nível de compreensão de OR lógico (ou ou)

6. O terceiro nível de compreensão de OR lógico (se nada, então o que) (usado principalmente para atribuição)

多用于赋值
x= a || b

❏ Se o primeiro operando for um objeto, o primeiro operando será retornado;
❏ Se o resultado da avaliação do primeiro operando for falso, o segundo operando será retornado;
❏ Se ambos os operandos forem objetos, o primeiro operando será retornado;
❏ Se ambos operandos são nulos, então nulo é retornado;
❏ Se ambos os operandos são NaN, então NaN é retornado;
❏ Se ambos os operandos são indefinidos, undefined é retornado.
Semelhante ao operador lógico AND, o operador lógico OR também é um operador de curto-circuito. Em outras palavras, se o resultado da avaliação do primeiro operando for verdadeiro, o segundo operando não será avaliado.

7. Prioridade de && || &&> ||

a && b || c
如果a那么就执行b否则就执行c  也就是if   else  的缩写。通常用于执行语句
a是一个判断  b和c是语句

a ? b:c 通常赋值的用的

Acho que você gosta

Origin blog.csdn.net/weixin_43131046/article/details/114628595
Recomendado
Clasificación