Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Объекты и их свойства



Все объекты языка JavaScript имеют ассоциированные с собой свойства. Чтобы получить доступ к свойству объекта, используется точечная нотация:

ИмяОбъекта.Свойство

Чтобы назначить свойству объекта какое-либо значение, достаточно его присвоить. Например, если обратиться к приведенному выше примеру с объектом-автомобилем, а вернее, с грузовиком, то для присвоения значений всем свойствам объекта Lorry необходимо написать следующее:

var MyTrack = new Lorry; //создаем экземпляр на основе объекта Lorry

MyTrack.vendor = "КамАЗ"; //определяем значение свойства vendor

MyTrack.model = "6520"; //определяем значение свойства model

MyTrack.carrying_tons = 20; //определяем значение свойства carrying_tons

Поскольку переменная MyTrack является полноценным объектом, то можно использовать оператор with для того, чтобы сделать запись более компактной:

with (MyTrack) {

vendor = "КамАЗ";

model = "6520";

carrying_tons = 20;

};

Оба варианта записи полностью идентичны, однако в JavaScript предусмотрен еще один способ обращения к свойствам объекта – через ассоциированный массив. Таким образом, выполнить то же самое, что и выше можно следующим способом:

MyTrack["vendor"] = "КамАЗ";

MyTrack["model"] = "6520";

MyTrack["carrying_tons"] = 20;

Теперь, когда мы разобрались с присваиванием значений свойствам объектов, давайте создадим функцию, которая будет возвращать все свойства объекта вместе с их значениями. Для этого нам потребуется оператор for-in, с помощью которого можно организовать цикл, перебирающий все свойства объекта. В результате мы получим примерно такую функцию:

function show_props(obj) {

var result = "";

for (var i in obj) {

result += i + " = " + obj[i] + "\n";

};

return result;

}

Результатом работы такой функции будет вывод всех свойств объекта со значениями:

carrying_tons = 20

vendor = КамАЗ

model = 6520

Результат выглядел бы лучше, если бы названию каждого свойства предшествовало название самого объекта. Для этого можно несколько модернизировать функцию таким образом, чтобы она в качестве второго аргумента получала имя объекта:

function show_props(obj, obj_name)

Теперь этот аргумент надо задействовать. Для этого сделаем изменения в строке, «собирающей» результат:

result += obj_name + "." + i + " = " + obj[i] + "\n";

Если теперь вызвать такую функцию, использовав ее в качестве аргумента для метода document.write, выводящего текст непосредственно в HTML-документ, то в окне браузера можно будет увидеть примерно следующее:

MyTrack.carrying_tons = 20

MyTrack.vendor = КамАЗ

MyTrack.model = 6520

Полный пример можно посмотреть в файле objects\automobile.html.





Дата публикования: 2015-01-25; Прочитано: 228 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...