In
Операция in возвращает true, если специфицированное свойство имеется в специфицированном объекте.
Реализована в
Синтаксис
propNameOrNumber in objectName
Параметры
propNameOrNumber |
Строка или числовое выражение, представляющее имя свойства или индекс массива.
Описание
Некоторые примеры использования операции in:
// Массивы
trees=new Array("redwood","bay","cedar","oak","maple")
0 in trees // возвращает true
3 in trees //
возвращает true
6 in trees //
возвращает
false
"bay" in trees //
возвращает
false (Вы обязаны специфицировать номер индекса,
// а не значение по этому индексу)
"length" in trees //
возвращает
true (length это свойство Array)
// Предопределённые объекты
"PI" in Math //
возвращает
true
myString=new String("coral")
"length" in myString //
возвращает true
// Специальные объекты
mycar = {make:"Honda",model:"Accord",year:1998}
"make" in mycar //
возвращает
true
"model" in mycar //
возвращает true
Вы обязаны специфицировать объект справа от операции in. Например, Вы можете специфицировать строку, созданную конструктором String, но не можете специфицировать строковой литерал.
color1=new String("green")
"length" in color1 //
возвращает true
color2="coral"
"length" in color2 //генерирует ошибку (coral это не String-объект)
Использование in с удалёнными или undefined свойствами.
Если Вы удаляете свойство операцией delete, операция in возвратит false для данного свойства.
mycar = {make:"Honda",model:"Accord",year:1998}
delete mycar.make
"make" in mycar //
возвращает false
trees=new Array("redwood","bay","cedar","oak","maple")
delete trees[3]
3 in trees //
возвращает false
Если Вы устанавливаете свойство в undefined, но не удаляете его, операция in возвращает true для этого свойства.
mycar = {make:"Honda",model:"Accord",year:1998}
mycar.make=undefined
"make" in mycar //
возвращает true
trees=new Array("redwood","bay","cedar","oak","maple")
trees[3]=undefined
3 in trees //
возвращает true
Об использовании операции in
с удалёнными элементами массива см. .