|| 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 通常赋值的用的