Paket | Üst Düzey |
Sınıf | public class arguments |
Miras Alma | arguments Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Argümanlar dizi öğeleri olarak saklanır: birincisine arguments[0]
, ikincisine arguments[1]
vb. olarak erişilir. arguments.length
özelliği işleve iletilen argümanların sayısını gösterir. İşlevin bildirdiğinden farklı sayıda argüman iletilmiş·olabilir.
ActioonScript'in önceki sürümlerinin aksine, ActionScript 3.0'da arguments.caller
özelliği yoktur. Geçerli işlevi çağıran işleve bir başvuru elde etmek için, bu işleve başvuruyu bir argüman olarak iletmelisiniz. Bu tekniğin bir örneği, argument.callee
örneğinde bulunabilir.
ActionScript 3.0, argüman sınıfının yerine kullanılması önerilen yeni bir ...(rest)
anahtar kelimesini içerir.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
callee : Function
Halen çalışmakta olan işleve bir başvuru. | arguments | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
length : Number
İşleve iletilen argüman sayısı. | arguments |
callee | özellik |
public var callee:Function
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Halen çalışmakta olan işleve bir başvuru.
Örnek ( Bu örnek nasıl kullanılır? )
secondFunction()
adlı işlevi çağıran işleve bir başvurunun nasıl elde edileceğini gösterir. secondFunction()
işlevinin firstFunction()
işlevini başarıyla çağırdığını göstermek ve bu iki işlevin birbirini çağırdığı sonsuz döngüye girilmesini önlemek için firstFunction()
işlevinde true
değerine sahip bir Boolean argümanı bulunur.
callSecond
parametresinin değeri true
olduğundan, firstFunction()
secondFunction()
işlevini çağırır ve tek argüman olarak kendisine bir başvuru iletir. secondFunction()
bu argümanı alır ve bunu Function veri türündeki caller
adlı bir parametreyi kullanarak saklar. Daha sonra, secondFunction()
işlevinin içinden, firstFunction
işlevini çağırmak için caller
parametresi kullanılır, ancak bu kez callSecond
argümanı false
olarak ayarlanır.
Çalıştırma sırası firstFunction()
işlevine döndüğündecallSecond
değeri false
olduğundan trace()
deyimi çalıştırılır.
package { import flash.display.Sprite; public class ArgumentsExample extends Sprite { private var count:int = 1; public function ArgumentsExample() { firstFunction(true); } public function firstFunction(callSecond:Boolean) { trace(count + ": firstFunction"); if(callSecond) { secondFunction(arguments.callee); } else { trace("CALLS STOPPED"); } } public function secondFunction(caller:Function) { trace(count + ": secondFunction\n"); count++; caller(false); } } }
length | özellik |
public var length:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
İşleve iletilen argüman sayısı. Bu değer işlevin bildirdiğinden fazla veya az olabilir.
callee
ve length
gibi farklı arguments
özellikleri için kullanımı gösterir.
package { import flash.display.Sprite; public class ArgumentsExample extends Sprite { public function ArgumentsExample() { println("Hello World"); } public function println(str:String):void { trace(arguments.callee == this.println); // true trace(arguments.length); // 1 trace(arguments[0]); // Hello World trace(str); // Hello World } } }
Tue Jun 12 2018, 01:09 PM Z