Ядро JavaScript 1.5. Справочник

       

In



Операция in возвращает true, если специфицированное свойство имеется в специфицированном объекте.

Реализована вJavaScript 1.4


Синтаксис

propNameOrNumber in objectName


Параметры

propNameOrNumber

Строка или числовое выражение, представляющее имя свойства или индекс массива.

objectNameИмя объекта.


Описание

Некоторые примеры использования операции 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

с удалёнными элементами массива см. .



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