Chapter 16. Scope

A scope is a physical region of a program in which code executes. In ActionScript there are five possible scopes:

  • A function body

  • An instance method body

  • A static method body

  • A class body

  • Everywhere else (i.e., global scope)

At any specific point in the execution of a program, the availability of variables, functions, classes, interfaces, and namespaces is governed by the scope of the code currently being executed. For example, code in a function can access that function’s local variables because it executes inside the function’s scope. By contrast, code outside the function cannot access the function’s local variables because it executes outside the function’s scope.

In ActionScript, scopes can be nested. For example, a function might be nested in an instance method, which, itself, is nested in a class body:

public class SomeClass {
  public function someMethod ():void {
    function someNestedFunction ():void {
      // This function's scope is nested inside someMethod()'s scope,
      // which is nested inside SomeClass's scope
    }
  }
}

When one scope is nested within another, the definitions (i.e., variables, functions, classes, interfaces, and namespaces) available to the enclosing scope become available to the nested scope. For example, a function nested inside an instance method can access that method’s local variables. The entire list of nested scopes surrounding the code currently being executed is known as the scope chain.

This chapter describes the availability of variables, functions, ...

Get Essential ActionScript 3.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.