2009-03-03 19 views
0

Aşağıdaki kod var: Bu JavaScript izin verilirActionScript için işlev çağrısında işlev bildirimi izinli mi?

var a= 1 + (function (x) { return x+1;} (2)); 

ancak ActionScript'te, her zaman kod satırı yanlış olduğunu söyleyerek, bir hata mesajı gösterecek. Bu konuda ActionScript ile ilgili bir doküman bulamıyorum, bunun hakkında bir fikri olan var mı?

Teşekkürler!

Şu şekilde bir fikrim var: var a = 1+ (işlev (x) {return x + 1;}) çağrı (işlev (x) {return x + 1;}, 2); bu örnek için iyi çalışıyor. ve bu, "çağrı" dizesinden önceki ile tamamen aynı olan bir funcitona atıfta bulunuyor. arguments.caller, yukarıdaki "call (..)" ın gerçekleştiği konumdur ve arguments.callee, "call" dizesinden sonra işleve başvurur. arguments.length 1'dir. En ... bu iyi olacak mı?

SWF etiketlerini değiştirerek, çözüldü ^^

+0

O, şimdiye kadar gerçek kodda gördüm, ben bunu değiştirmek istiyorum çünkü sadece örnek kod var umuyorum için "var a = 4;" sonra bir ördek gibi aşağı izlemek ve ciddi bir şekilde dövmek :-) – paxdiablo

+0

Öneriniz için teşekkür ederiz. Bu, javascript kodunu actioncript'e dönüştürmek için örnek koddur. –

cevap

6

yerine bu sözdizimini deneyin:.

var a = 1 + (function (x) { return x+1;})(2); 
+0

Veya bunun yerine şu kodu deneyin: "var a = 4;". WTF bu canavarlık için bile mi? :-) – paxdiablo

+1

Bence siz bu noktayı kaçırıyorsunuz, buradaki soru, sorunu göstermek için önemsiz bir örnek işlev yayınladı. Aslında böyle bir kod yazması gerektiği konusunda şüpheliyim, sanırım anonim satır içi işlevlerin neden çalışmadığını anlamak istiyor. –

+0

evet. Teşekkür ederim. Anonim inline işlevini bir actioncript'e dönüştürmek istiyorum. Yukarıdaki kod, JavaScript'te çalışır ve ActionScript'e dönüştürme için bir JavaScript yapıyorum. –

0

"2" işlevine bir argüman nedir?

IAC: neden onu ayırmıyor ve işlevi yerel bir değişkene atar ve değişkeni iletir. Bunu anlamak ve hata ayıklamak da kolaydır.

Alkış

+0

Teşekkür ederim. Yukarıdaki kod, javascript kodunun derlemesi için test durumumda gerçekleşir. Ayrılırsam, kod dönüşümümü geçerli kod satırından önce bir işlev tanımı ifadesi koymak için zorlamalıyım. Yukarıdaki kodu yerel olarak çalışmak için değiştirme konusunda herhangi bir öneriniz var mı? –