Суть в том, что у каждого объекта во Flash есть тип данных.Это может быть собственный тип данных, например «String» или «Number», «Array» или «int», или это может быть пользовательский тип данных, например «MyCustomClass» или «ICustomInterface».
ЕслиFlash знает тип данных объекта, он может работать с ним намного быстрее, потому что он точно знает, какие методы и свойства этот объект имеет или не имеет.Вот почему, например, вы можете выполнять итерацию по вектору намного быстрее, чем итерирование по массиву - вектор заставляет каждый элемент иметь одинаковый тип, что означает, что среда выполнения не должна сидеть там и печатать-проверьте каждый элемент в вашем векторе.Он просто знает, например, что каждый элемент в векторе реализует интерфейс IWh независимо, и это все, что его волнует.
Итак, вот где: void входит. В AS3 функции также являются объектами.Функция может возвращать абсолютно все - поэтому вы присваиваете ей объявление типа, чтобы сообщить Flash Player, что когда объект возвращается из этой функции, он имеет определенный тип.
Есть еще одна причина, которая была затронута выше.Когда вы объявляете тип возврата, ваша функция является безопасной.Если вы объявите: int и попытаетесь вернуть строку, вы получите ошибку.Это хорошо - эта ошибка говорит вам, что ваш код ведет себя не так, как вы ожидаете.
Когда мы объявляем функции: void, то, что мы говорим flash, это то, что никакого возврата не ожидаетсяиз этой функции.Если функция вообще должна что-то возвращать, она выдаст ошибку.
Надеюсь, это поможет!:)