Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.07.2011, 16:34
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 1  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Arrow Узнать все свойства объекта

Каким образом можно в цикле перебрать все свойства выбранного Object, при условии что имена этих свойств нам заранее не известны?

Старый 08.07.2011, 16:36
spooner вне форума Посмотреть профиль Отправить личное сообщение для spooner Найти все сообщения от spooner
  № 2  
Ответить с цитированием
spooner
 
Аватар для spooner

Регистрация: Mar 2009
Сообщений: 207
for in

Старый 08.07.2011, 23:27
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А вы и не указывали, ЧТО вам нужно конкретно.
Цитата:
Сообщение от spooner Посмотреть сообщение
__________________
тут я

Старый 08.07.2011, 16:42
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
flash.utils.describeType()
__________________
...вселенская грусть

Старый 08.07.2011, 23:25
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 5  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Код AS3:
var myObj:Object = {a:"25", b:35};
 
trace(describeType(myObj));
И что-то он мне выдаёт не то что мне надо!
Цитата:
<type name="Object" isDynamic="true" isFinal="false" isStatic="false">
<method name="hasOwnProperty" declaredBy="Object" returnType="Boolean" uri="http://adobe.com/AS3/2006/builtin">
<parameter index="1" type="*" optional="true"/>
</method>
<method name="isPrototypeOf" declaredBy="Object" returnType="Boolean" uri="http://adobe.com/AS3/2006/builtin">
<parameter index="1" type="*" optional="true"/>
</method>
<method name="propertyIsEnumerable" declaredBy="Object" returnType="Boolean" uri="http://adobe.com/AS3/2006/builtin">
<parameter index="1" type="*" optional="true"/>
</method>
</type>
А где имена свойств, где значения?

Старый 08.07.2011, 23:39
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 6  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
почему то никак у меня в голове не укладывается концепция этих двух циклов for in, for each in. Хоть убейте не могу понять логики их работы на том уровне чтобы использовать их также уверенно как обычный for! Получается for in позволяет нам пробегаться по динамическим свойствам выбранного объекта? Или чтото ещё с его помощью можно сделать?

Старый 08.07.2011, 23:43
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
var obj:Object = { prop1:25, prop2:"asd" };
for (var prop:* in obj) {
	trace(prop + " = " + obj[prop]);
}
__________________
тут я

Старый 08.07.2011, 23:46
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 8  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
КорДум, этот пример понятен, я ж спрашиваю, только пробегаться по динамическим свойствам объекта можно или чтото ещё можно сделать при помощи этого вида цикла?

Добавлено через 1 минуту
кстати, а что будет если вместо звёздочки строго типизировать переменную prop? Будет ошибка если тип данных в объекте отличается?

Старый 08.07.2011, 23:54
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 9  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
кстати, а что будет если вместо звёздочки строго типизировать переменную prop? Будет ошибка если тип данных в объекте отличается?
В текущем примере, по идее, будет неявная конвертация в строку. А вот попробуйте создать третий ключ со значением new Sprite(), почувствуете разницу.
Цитата:
только пробегаться по динамическим свойствам объекта можно или чтото ещё можно сделать при помощи этого вида цикла?
Код AS3:
var arr:Array = [ 123, 456, 789 ];
for (var index in arr) {
	trace(index); // да-да, выведет индексы
}
__________________
тут я

Старый 09.07.2011, 00:03
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 10  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
а что такое index - это произвольное имя или зарезервированная переменная? И вот кстати я вижу пример в хелпе с name
Код AS3:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var name in myObject) { 
	if (typeof (myObject[name]) == "string") { 
		trace("I have a string property named "+name); 
	} 
}
Кстати, не могу понять почему если пробегаться по выше указанному объекту без указания условия - он выводит значения свойств объекта не в том порядке в котором они были записаны изначально

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.