2016-04-08 10 views
0

Bir prensibi ettik: İşlev bildirmek ve anında çalıştırmak için bir yolu var mı?

var myFn = function(){ 
    //some code 
} 
myFn(); 

Yani bir işlevi tanımlamak zorunda, daha sonra iki sıra halinde çalıştırın. Bir ifadeyi tanımlamak için bir yol var mı (değişken olarak depolayarak) ve anında tek bir ifadeyle mi çalıştırıyorsunuz? Bunun sadece kısa bir yolu.

+3

https://en.wikipedia.org/wiki/Immediately-invoked_function_expression – j08691

+0

Evet, bu parantez sonra parantez birkaç ekleyin; –

+0

Ummm ... neden? Burada ne tür bir problem çözmeye çalışıyorsunuz? Genellikle bir işlevi bildirmek ve kodu farklı bir yerde çalıştırmak istersiniz, yoksa yalnızca anonim bir işlev çalıştırmak istiyorsunuz. Bunu gerçekten yapmak istiyorsanız, sadece dilin alışılmış kurallarını uygulayın - atama atanan değeri döndürür, böylece '(myFn = function() {...})();'. Orijinal varyant olsa da, çok daha okunabilir. Gizlenmiş kod yazmaya çalışıyor musunuz? Değilse, böyle "kısayollardan" kaçınmalı ve sadece ayrı bir beyan ve çağrı kullanmalıyım. – Luaan

cevap

-1
var myFn = function(){ 
    console.log("test"); 
}() 

fonksiyon şey dönmez çünkü myFn tanımsız olacaktır

+0

kodunu kısaltmak istiyorum. Burada yaptığım gibi "myFn" sonucunu atamaya dikkat edin - bu fonksiyonun kendisinden ziyade işlev yerine "myFn" işlevini yürütmek için _results_ değerini atayacaktır. orijinal soru) – Krease

+0

oh bilmiyordum ... ilginç ... teşekkürler –