Клиентский JavaScript. Справочник

         

Четвёртая форма верна только внутри


Четвёртая форма верна только внутри оператора with при удалении свойства объекта.
Можно использовать операцию delete для удаления переменных, объявленных неявно, но не переменных, объявленных оператором var.
Если операция delete выполнена успешно, она устанавливает свойство или элемент в undefined. Операция delete возвращает true, если операция возможна; возвращает false, если операция невозможна.
x=42
var y= 43
myobj=new Number()
myobj.h=4 // создаёт свойство h
delete x       // возвращает true (может удалить, если переменная объявлена неявно)
delete y       // возвращает false (нельзя удалить, если переменная объявлена с помощью var)
delete Math.PI // возвращает false (нельзя удалять предопределённые свойства)
delete myobj.h // возвращает true (можно удалять свойства, определённые пользователем)
delete myobj   // возвращает true (можно удалять объекты) Удаление элементов массива. Если вы удаляете элемент массива, размер массива не изменяется. Например, если Вы удаляете a[3], a[4] продолжает оставаться a[4], а элемент a[3] становится undefined.
Если операция delete удаляет элемент массива, этот элемент больше не присутствует в массиве. В следующем примере trees[3] удаляется с помощью delete.
trees=new Array("redwood","bay","cedar","oak","maple")
delete trees[3]
if (3 in trees) {
   // этот участок кода не будет выполняться
} Если Вам нужно, чтобы элемент продолжал существовать, но имел значение undefined, используйте ключевое слово undefined вместо операции delete. В следующем примере элементу trees[3присваивается значение undefined, но этот элемент массива продолжает существовать:
trees=new Array("redwood","bay","cedar","oak","maple")
trees[3]=undefined
if (3 in trees) {
   // этот участок кода будет выполняться
}

Содержание раздела