| Paket | Oberste Ebene |
| Klasse | public dynamic class Function |
| Vererbung | Function Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Methoden einer Klasse unterscheiden sich etwas von Function-Objekten. Im Gegensatz zu einem gewöhnlichen Function-Objekt ist eine Methode eng an das zugehörige Klassenobjekt gebunden. Daher besitzt eine Methode oder Eigenschaft eine Definition, die von allen Instanzen derselben Klasse genutzt wird. Methoden können aus einer Instanz extrahiert werden, und werden als "gebundene" Methoden bezeichnet (da sie die Verknüpfung zur Originalinstanz beibehalten). Bei einer gebundenen Methode zeigt das Schlüsselwort this auf das Objekt, das ursprünglich die Methode implementiert hat. Bei einer Funktion zeigt this auf das Objekt, das zum Zeitpunkt des Funktionsaufruf verknüpft war.
Siehe auch
| Methode | Definiert von | ||
|---|---|---|---|
|
Gibt den Wert von thisObject an, der in sämtlichen von ActionScript aufgerufenen Funktionen verwendet werden soll.
| Function | ||
|
Ruft die durch ein Function-Objekt dargestellte Funktion auf.
| Function | ||
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
| Object | |
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
| Object | |
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
| Object | |
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
| Object | |
![]() |
Gibt das angegebene Objekt als String zurück.
| Object | |
![]() |
Gibt den Grundwert des angegebenen Objekts zurück.
| Object | |
| apply | () | Methode |
AS3 function apply(thisObject:Object, argArray:Array = null):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt den Wert von thisObject an, der in sämtlichen von ActionScript aufgerufenen Funktionen verwendet werden soll. Diese Methode gibt außerdem die Parameter an, die an eine aufgerufene Funktion übergeben werden. Da es sich bei apply() um eine Methode der Function-Klasse handelt, ist sie gleichzeitig auch eine Methode aller Function-Objekte in ActionScript.
Die Parameter werden im Gegensatz zu Function.call(), das Parameter als eine durch Komma getrennte Liste definiert, als Array-Objekte angegeben. Dies ist besonders dann nützlich, wenn die Anzahl der zu übergebenden Parameter erst bei der eigentlichen Skriptausführung bekannt wird.
Gibt den Wert zurück, der von der aufgerufenen Funktion als Rückgabewert angegeben wurde.
Parameter
thisObject:Object — Das Objekt, auf das die Funktion angewendet wird.
|
|
argArray:Array (default = null) — Ein Array, dessen Elemente als Parameter an die Funktion übergeben werden.
|
Siehe auch
| call | () | Methode |
AS3 function call(thisObject:Object, parameter1:String = null):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ruft die durch ein Function-Objekt dargestellte Funktion auf. Da jede Funktion in ActionScript durch ein Function-Objekt dargestellt wird, unterstützen alle Funktionen diese Methode.
In den meisten Fällen kann der Funktionsaufrufoperator (()) anstelle dieser Methode verwendet werden. Der Funktionsaufrufoperator erzeugt kompakten und leicht lesbaren Code. Diese Methode bietet sich besonders dann an, wenn der thisObject-Parameter im Funktionsaufruf explizit gesteuert werden muss. Wenn eine Funktion als Methode eines Objekts aufgerufen wird, wird, wie im folgenden Beispiel, im Hauptteil der Funktion thisObject normalerweise auf myObject gesetzt:
myObject.myMethod(1, 2, 3);
In bestimmten Fällen sollten Sie mit thisObject auf ein anderes Objekt Bezug nehmen, z. B. wenn eine Funktion als Methode eines Objekts aufgerufen werden muss, aber nicht als Methode dieses Objekts gespeichert ist:
myObject.myMethod.call(myOtherObject, 1, 2, 3);
Sie können für den Parameter null den Wert thisObject übergeben, um eine Funktion als normale Funktion und nicht als Methode eines Objekts aufzurufen. Die folgenden Funktionsaufrufe sind beispielsweise gleichwertig:
Math.sin(Math.PI / 4) Math.sin.call(null, Math.PI / 4)
Gibt den Wert zurück, der von der aufgerufenen Funktion als Rückgabewert angegeben wurde.
Parameter
thisObject:Object — Ein Objekt, das den Wert von thisObject innerhalb des Hauptteils der Funktion angibt.
|
|
parameter1:String (default = null) — Ein Parameter, der an die Funktion übergeben wird. Sie können keinen oder beliebig viele Parameter angeben.
|
Siehe auch
FunctionExample, SimpleCollection, EventBroadcaster und EventListener verschiedene Verwendungsweisen von Funktionen in ActionScript veranschaulicht. Dies wird in den folgenden Schritten erreicht:
FunctionExample wird eine lokale Variable mit dem Namen simpleColl erstellt. Sie wird mit einem Array aus Ganzzahlen gefüllt, die zwischen den Werten 1 und 8 liegen. simpleColl-Objekt wird mithilfe von trace() gedruckt.listener, wird zu simpleColl hinzugefügt.insert() und remove() reagiert der Listener auf ihre Ereignisse.greaterThanFourColl erstellt.greaterThanFourColl-Objekt wird das Ergebnis von simpleColl.select() zusammen mit dem Argument 4 und einer anonymen Funktion zugewiesen. Bei der Auswahlmethode des SimpleCollection-Objekts handelt es sich um einen internen Iterator, der den anonymen Funktionsparameter als Block verwendet.
package {
import flash.display.Sprite;
public class FunctionExample extends Sprite {
public function FunctionExample() {
var simpleColl:SimpleCollection;
simpleColl = new SimpleCollection(0, 1, 2, 3, 4, 5, 6, 7, 8);
trace(simpleColl); // 0, 1, 2, 3, 4, 5, 6, 7, 8
var listener:EventListener = new EventListener();
simpleColl.addListener(listener);
simpleColl.insert(9); // itemInsertedHandler: 9
simpleColl.remove(8); // itemRemovedHandler: 8
trace(simpleColl); // 0, 1, 2, 3, 4, 5, 6, 7, 9
var greaterThanFourColl:SimpleCollection;
greaterThanFourColl = simpleColl.select(4, function(item:int, value:int){ return item > value });
trace(greaterThanFourColl); // 5, 6, 7, 9
}
}
}
import flash.display.Sprite;
class EventBroadcaster {
private var listeners:Array;
public function EventBroadcaster() {
listeners = new Array();
}
public function addListener(obj:Object):void {
removeListener(obj);
listeners.push(obj);
}
public function removeListener(obj:Object):void {
for(var i:uint = 0; i < listeners.length; i++) {
if(listeners[i] == obj) {
listeners.splice(i, 1);
}
}
}
public function broadcastEvent(evnt:String, ...args):void {
for(var i:uint = 0; i < listeners.length; i++) {
listeners[i][evnt].apply(listeners[i], args);
}
}
}
class SimpleCollection extends EventBroadcaster {
private var arr:Array;
public function SimpleCollection(... args) {
arr = (args.length == 1 && !isNaN(args[0])) ? new Array(args[0]) : args;
}
public function insert(obj:Object):void {
remove(obj);
arr.push(obj);
broadcastEvent("itemInsertedHandler", obj);
}
public function remove(obj:Object):void {
for(var i:uint = 0; i < arr.length; i++) {
if(arr[i] == obj) {
var obj:Object = arr.splice(i, 1)[0];
broadcastEvent("itemRemovedHandler", obj);
}
}
}
public function select(val:int, fn:Function):SimpleCollection {
var col:SimpleCollection = new SimpleCollection();
for(var i:uint = 0; i < arr.length; i++) {
if(fn.call(this, arr[i], val)) {
col.insert(arr[i]);
}
}
return col;
}
public function toString():String {
var str:String = new String();
for(var i:uint = 0; i < arr.length - 1; i++) {
str += arr[i] + ", ";
}
str += arr[arr.length - 1];
return str;
}
}
class EventListener {
public function EventListener() {
}
public function itemInsertedHandler(obj:Object):void {
trace("itemInsertedHandler: " + obj);
}
public function itemRemovedHandler(obj:Object):void {
trace("itemRemovedHandler: " + obj);
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/Function.html