![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Все объекты языка 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!