В JavaScript есть два специальных значения: неопределенные и нулевые, и вы должны быть осторожны при их сравнении. То, что вы получаете при чтении неназначенных переменных или пытаетесь прочитать свойства, которых у объекта нет, является неопределенным значением.
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <Title> Learn4undefinedAndnull </title> </head> <body> <script> var mydata = {name: "luka", погода: "sunny"; document.writeln ("prop "+mydata.doesnexits); </script> </body> </html>Результат вывода:
Проп: неопределенная
JavaScript также определяет специальное значение NULL, которое немного отличается от неопределенного. Последнее - это значение, полученное, когда значение не определено, в то время как первое используется для указания того, что значение было назначено, но не является допустимым объектом, строкой, номером или логическим значением (то есть определяемое значение - это бесценное значение [без значения]).
Следующий код использует неопределенные и нулевые, чтобы показать их различные эффекты:
<! Doctype html> <html lang = "en"> <head> <meta charset = "UTF-8"> <Title> Learn4undefinedAndnull </title> </head> <body> <script> var mydata = {name: "luka"}; // Читать attribute attribute.writeln ("var:"+mydata+" /> "); // Определить, есть ли объект Document Attribute Document.Writeln (" prop: "+(" погода "в mydata)+" <br /> <br />"); myData.weather = "Sunny"; Document.Writeln ("var:"+myData.weather+"<br />") document.writeln:« Пропасть: "+" (in "+" (in "+" (in "(in"+"(in"+"(in". mydata)+"<br /> <br />");mydata.weather = null; document.writeln (" var: "+mydata.weather+" <br />"); document.writeln("prop: "+(« Погода »в mydata)+" <br /> <br /> ") < /hod ht> < /ht> < /ht> < /ht> < /ht) < /ht> < /ht).Результат вывода:
ВАР: не определен
Проп: ложь
Вар: Санни
Проп: истин
ВАР: NULL
Проп: истин
1. Проверьте, является ли переменная или свойство неопределенным или нулевым
Если вы хотите проверить, является ли свойство нулевым или неопределенным (независимо от того, какой), просто используйте оператор IF и логический не оператор (!).
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <Title> Learn4undefinedandNull </title> </head> <body> <croppt> var mydata = {name: "luka", null}; if (! <br /> <br /> ");} else {document.writeln (" Имя не является нулевым или не определенным <br /> <br />")if(!mydata.city) <document.writeln("city - это nul />")IF(!myData.weather) <document.writeln("weather is null или не определен <br /> <br /> ");} else {document.writeln (" Погода не является нулевой или не определенной <br /> <br /> ")} < /script> < /body> < /html>Результат вывода:
Имя не является нулевым или неопределенным
Город нулевой или неопределенный
Погода нулевая или неопределенная
2. Различают нулевые и неопределенные
При сравнении двух значений используемый метод должен быть определен в соответствии с вашими потребностями. Если вы хотите в равной степени обработать неопределенные и нулевые значения, вам следует использовать оператор равенства (==), чтобы дать JavaScript выполнять преобразование типа. В настоящее время переменная с неопределенным значением будет считаться равной переменной со значением нуля. Если вы хотите различить нулевые и неопределенные, вам следует использовать эквивалентный оператор (===).
<! Doctype html> <html lang = "en"> <head> <meta charset = "UTF-8"> <Title> Learn4undefinedAndnull </title> </head> <body> <script> var firstval = null; var secondval; var avitality = firstval == secondval; var identity = firstval = var secondval; "var avility = firstval == var evidenty. "+Равенство+" <br />");document.writeln("inidentity: "+Identity+" <br />");document.writeln("ITIONITION: "+Identity+" <br />");document.Writeln("ITIONITY: "+Identity+" <Br />? /> "); </script> </body> </html>Результат вывода:
Равенство: правда
Личность: ложь
Приведенный выше контент - это соответствующие знания о сравнении нулевых и неопределенных значений базового учебника JS, введенного вам редактором. Я надеюсь, что это будет полезно для всех!