No conoce && y || (el valor de retorno de && y ||)

Hoy estaba aburrido y escribí el siguiente código en la consola.
Inserte la descripción de la imagen aquí
Ella realmente regresó.
Inserte la descripción de la imagen aquí
Esto despertó mi gran interés, así que descubrí mi colección de rinocerontes

Antes de analizar este problema, primero debemos saber, en javascript, qué representa falso

  • Número 0Inserte la descripción de la imagen aquí
  • Cuerda vacíaInserte la descripción de la imagen aquí
  • Booleano falsoInserte la descripción de la imagen aquí
  • nuloInserte la descripción de la imagen aquí
  • indefinidoInserte la descripción de la imagen aquí
  • ¡Todos excepto estos 6 tipos de NaN Inserte la descripción de la imagen aquí
    ! ¡Todas! Todo cierto

&& operador

  • El resultado es verdadero cuando ambas condiciones son verdaderas
  • Si uno es falso, el resultado es falso
  • Cuando la primera condición es falsa, las siguientes condiciones ya no se juzgan

Ver un ejemplo

console.log(a && b)

en casoa es verdad, Entonces es necesario juzgar b, si b es verdadero, luego devuelve verdadero, si b es falso, luego devuelve falso, esta vez b está determinado, entoncesVolver b

en casoa es falsoEntonces, ya sea que b sea verdadero o falso, devuelve falso, por lo que no hay necesidad de juzgar b, esta vez solo juzga a, entoncesDevolver un

|| Operador

  • Siempre que una condición sea verdadera, el resultado es verdadero
  • Cuando ambas condiciones son falsas, el resultado es falso
  • Cuando una condición es verdadera, las siguientes condiciones ya no se juzgan

Ver un ejemplo

console.log(a || b)

en casoa es verdad, Entonces b devuelve verdadero independientemente de si es verdadero o falso. Así que no hay necesidad de juzgar b, solo juzga a en este momento, así queDevolver un

en casoa es falso, Entonces tenemos que juzgar b, si b es verdadero, entonces devuelve verdadero, si b es falso, devuelve falso, que no esVolver bTodavía.

Aquí hay un ejemplo complicado

 var a=new Object()
 b=0
 c=Number.NaN
 d=1
 e="Hello";

  alert(a || b && c || d && e);  

El primer paso El
Inserte la descripción de la imagen aquí
segundo paso es convertir a verdadero o falso. El
Inserte la descripción de la imagen aquítercer paso es iniciar la primera operación
&& tiene una prioridad más alta que || oh
Inserte la descripción de la imagen aquí
El cuarto paso es comenzar el segundo cálculo. El
Inserte la descripción de la imagen aquí
quinto paso es el último cálculo.
Inserte la descripción de la imagen aquí
Por lo tanto, el resultado final de esta fórmula es a, que es un nuevo objeto

Gracias por ver el final, hablemos del principio

Realice operaciones booleanas y OR. Cuando se calcula una determinada variable y se obtiene el resultado final, qué variable se devuelve.

Supongo que te gusta

Origin blog.csdn.net/m0_47883103/article/details/108267677
Recomendado
Clasificación