Почему он возвращает это значение в виде массива с одним элементом, т.е.
blockquote>[Function: rectangle2]
Он не регистрирует массив, это просто странное консольное форматирование любой среды, которую вы используете. Ничто из этого не является допустимым синтаксисом JS, не ожидайте, что скобки ссылаются на массив. Вы можете попытаться записать фактический массив, содержащий функцию, и сравнить вывод.
Шаг за шагом отладка с переменным представлением (и часто с дополнительными представлениями как стек или глобальные переменные и т.д.) работает в некоторых IDE. FlexBuilder, FDT3 Enterprise (только версия для предприятия позволяет отлаживать), FlashDevelop (с дополнительным плагином). Можно также попробовать (свободный!) Плагин Visual Studio Тофино (Ансамбль), таким образом, можно отладить внутреннюю Visual Studio.
Но лучшая реализация для отладки я нашел в основанных на Eclipse IDE. Я не очень впечатлен FDT3 вообще, таким образом, я рекомендую FlexBuilder для отладки (+profiling) и конечно кодирование AS и в конечном счете (визуальный) дизайн для MXML.
Можно попробовать FlashDevelop плагином FDB. Многие люди предпочитают, чтобы этот свободный IDE для кодирования из-за хорошего кода помог (по моему скромному мнению, лучший из всех известных IDE). Отладка работает с этим плагином, но я не сказал бы, что это является "самым продуктивным". Но дайте ему попытку, его свободное!
Меня заинтересовали комментарии по отладке выше. Я являюсь одним из разработчиков Amethyst Flex / AIR IDE для Visual Studio. Мы очень хотим иметь лучшую доступную отладку Flex, поэтому я буду признателен за любые отзывы, которые помогут нам достичь этого.
Текущая бета-версия Amethyst имеет точки останова, переменные наблюдения, локальные объекты, стек вызовов, пошаговый вход / выход / step-over плюс расширение детализации в окнах отладки или при наведении подсказок отладки в редакторе кода. Здесь есть небольшой фильм, показывающий несколько функций отладки Amethyst:
http://www.sapphiresteel.com/Debugging-Adobe-Flex-Applications
Вскоре мы добавим больше функций (например, точки трассировки и условные точки останова). Но если есть какие-то функции, которые мы пропустили, сейчас самое время рассказать нам;
FlashDevelop из FlashDevelop.org является другим свободным редактором, который, кажется, развивает скорость. Это только для окон, но, кажется, довольно многофункционально.
Довольно много знаменитых разработчиков Flex+Flash клянутся FDT
Это - плагин Eclipse, и это - вероятно, самое дорогое средство разработки Flex там, но это очень хорошо.
Разработчик Flex. И ПРЕМИЯ, можно получить его бесплатно, если Вы - учитель или студент.