2016-03-23 6 views
-1

fonksiyonları arasındaki Geçme veriler: Bu çok benim sorum değil geçirilenJavaScript Modüler ben bu şekilde fonksiyonları arasında veri aktarmak için çalışıyorum

var mySample = { 

    myFunction1: function(param1) { 

     alert(param1 + 'is here'); 

    }, 

    myFunction2: function() { 

     alert('need' + param1 + ' here') 

    } 

}; 

... Ben Yukarıdaki veriler/değişkenleri paylaşabilirsiniz var?

+0

tahmin? MyFunction2'nin 'myFunction1' ile ne ilgisi var? –

+0

1 ile 2 arasında veri aktarmak istiyorum – Satch3000

+0

Sonra 'myFunction1'' myFunction2' işlevini çağırmalı ve değeri ona iletmelidir. –

cevap

2

Bunlar sadece işlevlerdir, yani birbirleriyle hiçbir ilişkisi yoktur. Bunu almak için, sonra myFunction2 bir değer ayarlamak için ilk myFunction1 aramaya çalışıyorsanız Ancak, bir alana param1 değer atayabilirsiniz:

var mySample = { 
    myFunction1: function(param1) { 
     this._param1 = param1; 
    }, 
    myFunction2: function() { 
     alert('need ' + this._param1 + ' here') 
    } 
}; 

mySample.function1("A"); 
mySample.function2(); 
1
var mySample = { 
     paramCache: null, 

     myFunction1: function(param1) { 
      var self = this; //mySample 

      alert(param1 + 'is here'); 
      self.paramCache = param1; 

     }, 

     myFunction2: function() { 
      var self = this; //see above 

      alert('need' + self.paramCache+ ' here') 

     } 
}; 

bunu yapmak için 1 yol olacaktır That bir nesne içinde. Ancak bu, myFunction1(); BEFORE myFunction2(); olarak adlandırılacak gerektirir.

Bu durumda var self = this; kısmı işe yaramıyor olabilir ama ben her zaman yaparım, bu yüzden .. Evet .. Bu size kalmış.

DÜZENLEME: Birisi aynı fikri yoktu ama bir salise daha hızlıydı :) aynen `myFunction1` ve` myFunction2` arasındaki ilişki nedir

İlgili konular