|
|
|||||
Регистрация: Jan 2014
Сообщений: 14
|
var dump
Подскажите, существует ли в as3 что-то более продвинутое чем trace, с тем чтобы можно было определить к какому типу относится объект (и вообще объект ли это), какое значение имеет, обладает ли ещё какими-то доп. свойствами или методами (соответственно тогда какие у них значения, свойства методы), имеются ли значения undefined или null в каком либо свойстве данного объекта, или может сам объект является таковым.
Короче, что-то типа var_dump() как в php есть ли в as3? |
|
|||||
Регистрация: Nov 2013
Сообщений: 86
|
flash.utils - там есть несколько средств.
|
|
|||||
Все это покажет дебаггер и не нужно никаких дополнительных утилит.
__________________
interplanety |
|
|||||
Регистрация: Jan 2014
Сообщений: 14
|
Вот именно, что дебаггер покажет всё. А мне ненадо всё, мне надо только в конкретном месте посмотреть
|
|
|||||
Ну это и трейсом всё можно выполнить, благо в AS3 там стало можно несколько параметров сразу выводить.
|
|
|||||
Регистрация: Jan 2014
Сообщений: 14
|
представим себе объект:
var obj:Vector<Object> = new Vector<Object>(); obj.push({tf : new TextField(), st: new String(), b : true}); obj.push({ta : new TextArea(), nb: 12, bs : new Object()}); obj.push({sp : new Sprite(), n: null, de : new DispatchEvent()}); |
|
|||||
Регистрация: Nov 2013
Сообщений: 86
|
Можно так попробовать:
function explore(target:Object):void { for (var prop:String in obj) { trace('property: ' + prop + ' value: ' + obj[prop]); } } Добавлено через 8 минут Да, он не со всеми объектами работает... Добавлено через 16 минут Вот улучшенный вариант: Опять же, работает, но не со всеми объектами, и не может просмотреть всё. Последний раз редактировалось FlasherEgor; 25.05.2014 в 15:21. |
|
|||||
Регистрация: Jan 2014
Сообщений: 14
|
мне думается, что если по логике, то сперва нужно определить является ли переданное значение переменной или объектом, если это переменная, то выводим на экран её тип и значение, в том числе и значение undefined. Если же мы определили, что это объект и его значение не null, тогда вызываем эту же функцию рекурсивно. Хотя это тоже, мне думается не идеальный вариант, потому как такие объекты как DisplayObject нужно рассматривать в данном контексте как переменную
|
|
|||||
Для дебага разработки — дебаггер в используемой IDE. Для рантайма продакшена или той же разработки и перестаем изобретать велосипеды.
__________________
тут я |
|
|||||
Цитата:
Цитата:
Как и в любом другом языке (ну, почти), чтобы трейс выводил подробную информацию, у этого объекта должен быть метод toString() с подробным описанием всего необходимого. Но если совсем по теме, то отладчик вам в помощь. В Adobe Flash CS* его нет, но он есть в любой нормальной IDE типа Flash Builder или FlashDevelop
__________________
Ко мне можно и нужно обращаться на ты) |
Часовой пояс GMT +4, время: 01:37. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|