Adobe® Flash® Platform için ActionScript® 3.0 Başvurusu
Ana Sayfa  |  Paket ve Sınıf Listesini Gizle |  Paketler  |  Sınıflar  |  Yenilikler  |  Dizin  |  Ekler  |  Niçin İngilizce?
Filtreler: Sunucudan Veri Alınıyor...
Sunucudan Veri Alınıyor...
Üst Düzey 

Function  - AS3

PaketÜst Düzey
Sınıfpublic final class Function
Miras AlmaFunction Inheritance Object

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Bir işlev, ActionScript'te çağrılabilecek temel kod birimidir. ActionScript'te hem kullanıcı tanımlı hem de yerleşik işlevler, Function sınıfının örnekleri olan Function nesneleri tarafından temsil edilir.

Bir sınıfın yöntemleri Function nesnelerinden biraz daha farklıdır. Normal bir işlev nesnesinden farklı olarak bir yöntem, ilişkili sınıf nesnesine sıkıca bağlıdır. Bu nedenle, bir yöntem veya özelliğin, aynı sınıftan tüm örnekler arasında paylaşılan bir tanımı vardır. Yöntemler bir örnekten dışa aktarılabilir ve "bound" yöntemleri(orijinal örneğin bağını tutan) olarak değerlendirilebilir. bound yöntemi için this anahtar kelimesi, yöntemde uygulanan orijinal nesneyi işaret eder. İşlev için this anahtar kelimesi, işlevin çağrıldığı zamanda ilişkili nesneyi işaret eder.

Örnekleri görüntüle



Genel Özellikler
 ÖzellikTanımlayan:
 Inheritedconstructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru.
Object
Genel Yöntemler
 YöntemTanımlayan:
  
apply(thisArg:*, argArray:*):*
ActionScript'in çağırdığı herhangi bir işlev içinde kullanılacak thisObject değerini belirtir.
Function
  
call(thisArg:*, ... args):*
Bir Function nesnesiyle temsil edilen işlevi çağırır.
Function
 Inherited
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir.
Object
 Inherited
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir.
Object
 Inherited
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir.
Object
 Inherited
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar.
Object
 Inherited
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür.
Object
 Inherited
Belirtilen nesnenin dize olarak temsil edilen halini döndürür.
Object
 Inherited
Belirtilen nesnenin temel değerini döndürür.
Object
Yöntem Ayrıntısı

apply

()yöntem
AS3 function apply(thisArg:*, argArray:*):*

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

ActionScript'in çağırdığı herhangi bir işlev içinde kullanılacak thisObject değerini belirtir. Bu yöntem, çağrılan herhangi bir işleve iletilen parametreleri de belirtir. apply(), Function sınıfının bir yöntemi olduğundan, ActionScript'teki her Function nesnesinin de bir yöntemidir.

Parametreleri virgülle sınırlanmış liste olarak belirten Function.call() öğesinden farklı olarak, parametreler bir Array nesnesi olarak belirtilir. Bu genellikle, komut dosyası gerçekten çalıştırılıncaya kadar iletilecek parametrelerin sayısı bilinmediğinde kullanışlıdır.

Çağrılan işlevin dönüş değeri olarak belirttiği değeri döndürür.

Parametreler

thisArg:* (default = NaN) — İşlevin uygulandığı nesne.
 
argArray:* (default = NaN) — Öğeleri parametre olarak işleve iletilen bir dizi.

Döndürür
* — Çağrılan işlevin belirttiği herhangi bir değer.

İlgili API Öğeleri

call

()yöntem 
AS3 function call(thisArg:*, ... args):*

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Bir Function nesnesiyle temsil edilen işlevi çağırır. ActionScript'teki her işlev bir Function nesnesiyle temsil edilir, böylece tüm işlevler bu yöntemi destekler.

Neredeyse tüm durumlarda, bu yöntem yerine işlev çağrısı (()) operatörü kullanılabilir. İşlev çağrısı operatörü, kısa ve okunabilir kod üretir. Çağrı işlevinin thisObject parametresinin açıkça denetlenmesi gerektiğinde bu yöntem birincil olarak kullanışlıdır. Normalde işlev gövdesinin içinde bir nesne yöntemi olarak bir işlev çağrılırsa, şu örnekte gösterildiği gibi thisObject myObject olarak ayarlanır:

  myObject.myMethod(1, 2, 3);
  

Bazı durumlarda thisObject öğesinin başka bir yeri işaret etmesini isteyebilirsiniz; örneğin bir işlevin, bir nesne yöntemi olarak çağrılması gerektiğinde ancak işlev o nesnenin bir yöntemi olarak gerçekten saklanmadığında:

  myObject.myMethod.call(myOtherObject, 1, 2, 3); 
  

Bir işlevi nesne yöntemi olarak değil de normal bir işlev olarak çağırmak üzere thisObject parametresi için null değerini iletebilirsiniz. Örneğin, şu işlev çağrıları eşdeğerdir:

  Math.sin(Math.PI / 4)
  Math.sin.call(null, Math.PI / 4)
  

Çağrılan işlevin dönüş değeri olarak belirttiği değeri döndürür.

Parametreler

thisArg:* (default = NaN) — İşlev gövdesinde thisObject değerini belirten bir nesne.
 
... args — İşleve iletilecek parametre veya parametreler. Sıfır veya daha fazla parametre belirtebilirsiniz.

Döndürür
*

İlgili API Öğeleri

FunctionExample.as

Şu örnek, ActionScript'teki işlevlerin çeşitli kullanımlarını göstermek için FunctionExample, SimpleCollection, EventBroadcaster ve EventListener sınıflarını kullanır. Bu işlem, aşağıdaki adımlar uygulanarak gerçekleştirilir:
  1. FunctionExample yapıcısı, 1 - 8 arasında değişebilen bir tam sayı dizisiyle doldurulmuş, simpleColl adı verilen yerel bir değişken oluşturur.
  2. simpleColl nesnesi, trace() kullanılarak yazdırılır.
  3. Bir listener EventListener nesnesi simpleColl öğesine eklenir.
  4. insert() ve remove() işlevleri çağrıldığında dinleyici, olaylarına yanıt verir.
  5. greaterThanFourColl adında ikinci bir SimpleCollection nesnesi oluşturulur.
  6. greaterThanFourColl nesnesine, 4 argümanı ve anonim bir işlev içeren simpleColl.select() sonucu atanır. SimpleCollection nesnesinin select yöntemi, blok olarak anonim işlev parametresini kullanan dahili bir adımlayıcıdır.
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);        
    }
}




[ X ]Niçin İngilizce?
ActionScript 3.0 Başvurusu'ndaki içerik İngilizce görünür

ActionScript 3.0 Başvurusu'nun tüm bölümleri tüm dillere çevrilmemiştir. Bir dil öğesi çevrilmediğinde İngilizce görünür. Örneğin, ga.controls.HelpBox sınıfı hiçbir dile çevrilmez. Bu nedenle, başvurunun Türkçe versiyonunda ga.controls.HelpBox sınıfı İngilizce görünür.