Руководство по actionscript. часть 1, стр. 098
Public function getRandomPoint (rectangle) { var randomX = getRandomlnteger(rectangle. left, rectangle. right); var randomY = getRandomlnteger(rectangle. top. rectangle. bottom);
return new Point(randomX. randomY);
function getRandomlnteger (min. max) { return min + Math. floor(Math. random( )*(max+l — min));
}
}
Функции уровня исходного файла
Если описание функции размещается на верхнем уровне исходного файла за пределами тела пакета, то будет создана функция, доступная только внутри данно-
го исходного файла. В следующем примере представлено содержимое исходного файла А. as, включающее описание пакета, описание класса и описание функции уровня исходного файла. Поскольку функция определена за пределами оператора блока пакета, она может быть использована в любом месте кода внутри файла А. as, однако вне этого файла данная функция будет недоступна.
package {
// Функцию f( ) можно использовать здесь class А {
// Функцию f( ) можно использовать здесь public function А ( ) { // Функцию f( ) можно использовать здесь
// Функцию f( ) можно использовать здесь
function f ( ) { }
В предыдущем коде обратите внимание на то, что описание функции f ( ) не содержит и не должно содержать никаких модификаторов управления доступом (publ i с, internal ит. д.).
rtp* 1 Модификаторы управления доступом не должны применяться при описании функций
м$ i« уровня исходного файла.
Функции уровня исходного файла иногда используются для определения дополнительных модулей, относящихся к одному классу (как, например, к классу А в предыдущем коде). Тем не менее, поскольку дополнительные модули для класса можно определять и с помощью закрытых статических методов, функции уровня исходного файла редко используются в реальных программах на языке ActionScript.
Доступ к описаниям из функции
Место размещения функции в программе влияет на возможность обращения к описаниям этой программы из данной функции (то есть к классам, переменным, методам, пространствам имен, интерфейсам и другим функциям). Подробное описание того, к чему можно и к чему нельзя обращаться из кода функций, можно найти в разд. «Область видимости функций» гл. 16.