Flash / Flex / ActionScript/Function/return

Материал из Web эксперт
Перейти к: навигация, поиск

Assign value returned from a function to a variable

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var color:String = getColor();
       trace(color); // Displays: Red
   } 
   function getColor():String {
        var color:String = "Red";
        return color;
        color = "Blue";
        return color;
   }
 }

}

       </source>
   
  


Defining a Return Type for Your Function

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
        var myObject:* = createObject("Array");
        myObject.push(1, 2, 3, 4, 5);
       
        trace(myObject); //Displays: 1, 2, 3, 4, 5
   }
   function createObject(type:String):* {
        switch (type) {
            case "Boolean": return new Boolean ();
            case "Number": return new Number ();
            case "String": return new String ();
            case "Array": return new Array ();
            default: trace("Unknown type"); return null;
        }
    }
 }

}

       </source>
   
  


If you attempt to actually return a value in a void method, the compiler generates an error.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
   }
   private function sampleMethod (  ):void {
     return "some value";  // This causes the compiler to generate an error.
   }
 }

}

       </source>
   
  


Obtaining the Result of a Method: use a return statement that specifies the value to return.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var playerScore:Number = average(6, 10);
       trace("The player"s average score is " + playerScore);
   }
   private function average (a:Number, b:Number):Number {
     return (a + b)/2;
   }
 }

}

       </source>
   
  


Returning void: If you don"t need your function to return anything, simply use a return type of void.

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       doNothing(); 
   }
   function doNothing ():void {
   
   } 
 }

}

       </source>
   
  


Return value from function

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace(getCircumference(25)); // Displays: 78.53981633974483
   }
   function getCircumference (diameter:Number):Number {
       var circumference:Number = diameter * Math.PI;
       return circumference;
   }
 }

}

       </source>
   
  


The return statement exits the current method

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       sampleFunction(  );
   }
   private function sampleFunction (  ):void {
     return;
     trace("Never called");
   }
 }

}

       </source>
   
  


Use a return statement to exit a method under certain conditions

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       checkPassword("M");
       checkPassword("S");
   }
   private function checkPassword (password:String):void {
     if (password != "S") {
       return;
     }
     trace ("T");
   }
 }

}

       </source>
   
  


Use the return value of a method, without storing it in a variable, by passing it as a parameter to another function

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       trace("The player"s average score is " + average(6, 10));
   }
   private function average (a:Number, b:Number):Number {
     return (a + b)/2;
   }
 }

}

       </source>