В JavaScript есть 2 специальных значения, которые представляют отсутствие информации: нулевая и неопределенная. Я лично думаю, что разница между этими двумя специальными ценностями может быть понята с следующей точки зрения:
1.Null представляет контейнер, в котором хранится информация (например, переменная, которая была присваивана значением ранее), но содержимое в контейнере пустое.
2. Неопределенные означает, что нет контейнера, используемого для хранения информации.
NULL в JavaScript ничем не отличается от NULL на большинстве других языков программирования. Он в основном используется, чтобы указать, что значение информации пустое; Находясь в JavaScript, выражение возвращает результат, не определенный в следующих ситуациях:
1. переменная, которой никогда не было назначено значение.
2. Доступ к значению свойства, которого не существует в объекте.
3. Доступ к членам, которые не существуют в массиве.
4. Вызовите функцию без оператора возврата.
5. Вызовите функцию, оператор возврата которого пуст («return;»).
Фактически, как и Infinity и NAN, Undefined является глобальной переменной в JavaScript и может даже назначать другие значения в Ecmascript 3. Ecmascript 5 исправил эту ошибку и установите неопределенную переменную на только чтение.
Для сравнений между нулевым и неопределенным можно использовать оператор === Конгруэнтный оператор. Если используется оператор нормального ==, нулевой эквивалент неопределенному:
Кода -копия выглядит следующим образом:
console.log (null == не определен); // true
console.log (null === не определено); // false
Во время процесса программирования, если вам нужно присвоить нулевое значение переменной, обычно используется NULL. Причина в:
1. Не определены, как правило, считается отсутствием информации на уровне системного уровня и уровня отчетности об ошибках.
2.NULL, как правило, считается уровнем программирования, а значение информации на уровне логической работы пусто.
Если преобразование типа участвует в программе, результаты нулевого и неопределенного при преобразовании в тип числа разные:
1. Результатом неопределенного преобразования в число является NAN.
2. Результат преобразования нуля в число составляет 0.
Стоит отметить, что результат преобразования пустой строки и пустого массива в число также составляет 0.
Что касается того, почему два значения, которые представляют «нет», разработаны в JavaScript, вы можете обратиться к сообщению в блоге Руан Ифенг.
эксперимент
В следующем экспериментальном коде результаты выражения не определены:
Кода -копия выглядит следующим образом:
var a;
console.log (a);
Образец функции (x) {
this.x = x;
}
var s = new Sample ();
Console.log (SX)
console.log (s.notexistviable);
var n = [2,3,4];
console.log (n [8]);
функциональный тест () {
// нет возвращаемого значения для этой функции
}
console.log (test ());
Function test2 () {
возвращаться;
}
console.log (test2 ());