2010-01-19 18 views
10

Ben kodu kullanıyorum:Satır içi bir işlevin dönüşüne bir javascript değişkeni nasıl ayarlayabilirim?

var x = function() {return true;}; 

true x ayarlamaya çalışırken, dönüş fonksiyonunun değeri, ancak bunun yerine x fonksiyonu kendisi olarak tanımlanır. X i fonksiyonun dönüş değeri olarak nasıl ayarlayabilirim? Satır içi olmayan bir işlevi veya bazılarını kullanarak bu sorunu kolayca kodlayabilirim, ancak beni rahatsız ediyor çünkü eminim ki basit bir çözüm olmalı.

Teşekkürler. , Aslında olması x kuruyorsun sen işlev yürütülürken değiliz

var x = (function() {return true;})(); 

cevap

24

çözüm işlevi tanımlayın ve ardından (sonunda fazladan parantez ekleyerek) onu çağırmaktır işlevi. ile yerinde

var x = function(){ return true; }; 
var y = x(); // y is now set to true. 

veya alternatif işlevi yürütmek: Eğer bazı değişken y olsaydı

, bu gibi bir şeyle fonksiyonun değerine sürebilir

var x = (function(){ return true; })(); 
6

:

2

Kişisel kod sadece işlevi tanımlar ve x'a atar, işlev çağrılmaz. Bunu çağırmak için işlevi paranteze yerleştirin ve normal işlev çağrısı için olduğu gibi ()'u ekleyin, örneğin:

var x = 
     (
      function() { 
       return true; 
      } 
     )(); 
İlgili konular