Hay dos valores especiales en JavaScript: indefinido y nulo, y debe tener cuidado al compararlos. Lo que obtienes al leer variables no asignadas o tratar de leer las propiedades que el objeto no tiene es el valor indefinido.
<! DocType html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> Learn4UdefinedAndNull </title> </head> <body> <script> var myData = {nombre: "Luka", Weather: "Sunny"}; document.writeLn ("Prop:"+myData.doesNexits); </script> </body> </html>Resultado de salida:
Propiedad: Undefinado
JavaScript también define un valor especial nulo, que es ligeramente diferente de indefinido. Este último es un valor obtenido cuando el valor no se define, mientras que el primero se usa para indicar que se ha asignado un valor pero no es un objeto válido, cadena, número o valor booleano (es decir, un valor que se define es un valor [sin valor]).
El siguiente código usa indefinido y nulo para mostrar sus diferentes efectos:
<! DocType html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> Learn4undefinedAndNull </title> </head> <body> <script> var myData = {nombre: "Luka"}; // lee el atributo del clima documento.writeLn ("var:"+mydata.weather+"<r />"); // Determinar si el objeto tiene atributo meteorológico document.writeLn ("prop:"+("clima" en myData)+"<Br /> <Br />"); myData.weather = "Sunny"; document.writeln ("var:"+myData.weather+"<r />"); document.writeLn ("prop:"+("clima" en myData)+"<Br /> <Br />"); mydata.weather = null; document.writeln ("var:"+myData.weather+"<r />"); document.writeLn ("Prop:"+("Weather" en MyData)+"<Br/> <Br/>"); </script> </body> </html>Resultado de salida:
Var: undefinedprop: falsevar: sunnyprop: truevar: nullprop: verdadero
1. Compruebe si la variable o la propiedad están indefinidas o nulas
Si desea verificar si una propiedad es nula o indefinida (independientemente de su), simplemente use la instrucción IF y el no operador lógico (!).
<! DocType html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> Learn4UdefinedAndNull </title> </head> <body> <script> var myData = {nombre: "Luka", City: Null}; if (! myData.name) {document.writeLn ("El nombre es nulo o indefinado <br /> <Br />"); } else {document.writeLn ("El nombre no es nulo o indefinado <br /> <br />")} if (! myData.city) {document.writeLn ("La ciudad es nula o indefinida <Br /> <Br />"); } else {document.writeLn ("La ciudad no es nula o indefinida <br /> <br />")} if (! myData.weather) {document.writeLn ("El clima es nulo o indefinado <Br /> <Br />"); } else {document.writeLn ("El clima no es nulo o indefinado <Br/> <Br/>")} </script> </body> </html>Resultado de salida:
El nombre no es nulo o la Ciudad indefinida es nula o UndefinedWeather es nula o indefinida
2. Distinguir entre nulo e indefinido
Al comparar dos valores, el método utilizado debe determinarse de acuerdo con sus necesidades. Si desea tratar los valores indefinidos y nulos por igual, debe usar el operador de igualdad (==) para permitir que JavaScript realice la conversión de tipo. En este momento, una variable con un valor indefinido se considerará igual a una variable con un valor de NULL. Si desea distinguir entre nulo y indefinido, debe usar el operador equivalente (===).
<! DocType html> <html lang = "en"> <head> <meta charset = "utf-8"> <title> Learn4UdefinedAndNull </title> </head> <body> <script> var firstVal = null; var SecondVal; VAR Igualdad = FirstVal == SecondVal; Var identidad = firstVal === SecondVal; document.writeLn ("Igualdad:"+Igualdad+"<Br />"); document.writeLn ("Identity:"+Identity+"<Br />"); document.writeLn ("Identity:"+Identity+"<Br />"); /> "); </script> </body> </html>Resultado de salida:
Igualdad: TrueIdentity: False
La comparación de Basics_Simple de JavaScript anterior de valores indefinidos y nulos es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.