...


  Свойства
Свойство объекта - это именованный фрагмент содержащихся в объекте данных. Как говорилось ранее, свойства доступны с помощью применения к объекту операции, обозначаемой точкой (.). Например,

var myString = new String("Всем привет");
alert(myString.length);

обеспечивает доступ к свойству length объекта String, на который ссылается переменная myString.
    Попытка доступа к несуществующему свойству возвращает значение undefined:

var myString = new String("Всем привет");
alert(myString.noSuchValue);

приведет к появлению другого диалогового окна: "undefined"

В прошлых главах вы также видели, как просто использовать свойства экземпляра ства, динамически добавляемые сценарием:

var myString = new String("Всем привет");
myString.simpleExample = true;
alert(myString.simpleExample);

    Свойства экземпляра называются так потому, что они присутствуют только в экземпляре объекта, к которому они добавлены, и в противоположность свойствам типа String.length, которые обязательно присутствуют в любом экземпляре объекта String. Свойства экземпляра удобно использовать для расширения возможностей cуществующих объектов с целью их адаптации к выполнению конкретных задач.

Удалить свойства экземпляра можно с помощью операции delete. Следующий пример иллюстрирует удаление свойства экземпляра, добавленного в объект Szring:

vаг myString o new String("Всем привет");
myString.simpleExample = true;
delete myString.simpleExample;
alert("Значением myString.simpleExample является " + myString. SimpleExample) ;

Результатом будет: "Значением myString.simpleExample является undefined"

Как видите, свойство simpleExample имеет значение undefined, как и любое другое существующее свойство.
доступ к свойствам с помощью синтаксиса массивов
Иногда более удобной альтернативой операции, обозначаемой точкой, является п к элементам массива ([ ]). Эта операция обеспечивает доступ к свойству, заданному строкой в скобках. Например:

var myString = new String("Всем привет");
alert(myString["length"]);
myString["simpleExample"] = true;
alert(myString.simpleExample);
delete myString["simpleExample"];

    Некоторые программисты предпочитают этот метод доступа к свойствам просто с целью однообразия стиля. Однако позже в этой же главе мы представим и другую причину, по которой этот метод оказывается более универсальным по сравнению с. синтаксисом операции точки - он позволяет устанавливать и читать свойства с произвольными именами (например, содержащими пробелы).
Методы
Свойства, являющиеся функциями, называются методами. Доступ к методам обычно осуществляется с помощью операции точки, аналогично доступу к свойствам. Следующий пример иллюстрирует вызов метода toUpperCase () объекта String:

var myString = new String("Я говорю не слишком громко? ");
alert(myString.toUpperCase());

Можно использовать и синтаксис массива:

var myString = new String("Я говорю не слишком громко? ");
alert(myString["toUpperCase"] () ) ;

но такой вариант используется редко.
    Установка методов экземпляра тоже аналогична установке свойств экземпляра:

var myString = new String("Я говорю не слишком громко? ");
myString.sayNo = function() { alert("Да нет."); };
myString.sayNo();

Методы экземпляра наиболее полезны в случае пользовательских объектов. Если объект не является пользовательским, вы не знаете его внутренней структуры и поэтому не можете работать с ним так, как с объектом, созданным вами.



( )


10

?

:










@ 2008-2011 Amber

.