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