moock.org is supported in part by


April 05, 2007

Chapter 16, Paragraphs 1-7, Essential ActionScript 3.0

Here are the first 7 paragraphs of Chapter 16 of Essential ActionScript 3.0

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 of the function’s scope. By contrast, code outside the function cannot access the function’s local variables because it executes outside of 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, classes, interfaces, and namespaces within ActionScript’s various scopes.

Posted by moock at April 5, 2007 07:59 PM