2016-06-28 13 views
0

Ich möchte Objekte verwendet, um Funktionsname und andere Eigenschaften zu speichern, die ich es verwendet, um JS-Skript von Jquery GetScript zu laden. Ich habe bedingte von inAarray verwendet, um zu überprüfen, ob ein Objekt in diesem Array vorhanden ist. Ich werde dieses Skript aufrufen und diese Funktion ausführen (func) aber ich habe noch Stapel, um diesen Objektwert in eine Funktion für die Ausführung nach JS-Skript laden zu konvertieren im Status Erfolg.Wie konvertiert man den Objektwert in Javascript?

function fetchingData(n_source_id, types, not_id) { 

    var data = { 
     'Loan Repayment':{ 
      url:'/js/load/loan/loan_repayment.js', 
      func:'repayment'// name of function which I will call after JS file successfully loaded 
     }, 
     'Reject Repayment':{ 
      url:'/js/load/loan/repay_change_till_acc.js', 
      func:'changeTill'// name of function which I will call after JS file successfully loaded 
     }, 
     'Issue Till': { 
      url: '/js/load/issueTill.js', 
      func: 'issueTill'// name of function which I will call after JS file successfully loaded 
     } 
    }; 
     $.each(data, function(inx, vals) { 

      var _type = inx; 
      var url = vals; 

      if ($.inArray(types, [_type]) >= 0) { 

       ScriptRequire([vals.url], function(status) { 

        if (status === 'success') { 

         var fun = new Function(vals.function); 

         console.log(fun(n_source_id, types)); 
         return fun; 
        } 
       }); 
      } 
     }); 
    } 

Antwort

1

Seit vals.function hält den Namen der Funktion und die Funktion sollte bereits durch geladene Skript definiert werden, verwenden Sie nicht die im Anschluss an die Funktion Objekt zu erhalten:

var fun = new Function(vals.function); 

Verwenden Sie stattdessen:

var fun = window[vals.function]; 
+0

Jetzt habe ich beschlossen, Objektmethode verwendet stattdessen kann es als –

+0

@HengSopheak besser sein - Haben Sie die Funktionen von getScript geladen bedeuten nicht globale Funktionen, sind aber Eigenschaften von ein Objekt? Oder meinst du, du suchst keine Antwort mehr auf deine Frage? –

+0

Wie ich Ihren Code getestet habe, funktioniert es gut, aber jetzt habe ich Zugriffsmethode von Objekt verwendet. –

Verwandte Themen