O'Reilly logo

Essential ActionScript 3.0 by Colin Moock

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required