На основании комментариев; Похоже, вы передаете не ту вещь в функцию; скорее всего, экземпляр компонента вместо фактического имени компонента.
Это немного расплывчато, потому что вы не показали нам метод или способ его вызова. Но, как-то так:
public function myFunction(component:UIComponent):void{
trace(component);
trace(component.id);
}
Ожидается экземпляр компонента, а не фактический компонент. Вы можете вызвать эту функцию так:
myFunction(myDataGrid);
myFunction(myList);
myFunction(myComboBox)
Если вы хотите передать в ID; это было бы необычно, но вы могли бы сделать что-то вроде этого:
public function myFunction(componentID:String):void{
trace(this[componentID]);
trace(componentID);
}
И вы могли бы назвать это так:
myFunction('stringThatRepresentsAVariableName');
myFunction(myDataGrid.id);
etc..
Весьма необычно использовать идентификатор поверх фактического экземпляра, который вам нужно обработать. Требование экземпляра обеспечивает лучшую документацию для человека, которому необходимо поддерживать этот код в будущем. Требование идентификатора строки требует, чтобы функция находилась в том же компоненте, который имеет идентификатор в качестве дочернего элемента; что может уменьшить ваши возможности повторного использования или рефакторинга в будущем.