2011-08-06 3 views
0

J'ai trouvé une fonction de vidage d'objet pour JavaScript (alternative à PHP print_f()). J'ai un objet avec une seule fonction - myFunction(); Voici le code que j'utilise pour 'décharger' toutes les fonctions:Dump Object - Récupère la valeur retournée par la fonction au lieu de 'function'?

if(typeof(obj) == 'object') { 
    for(var item in obj) { 

     if(typeof(value) == 'function'){ 
      var value = obj[item]; // !!!??? 
      alert(value); 
     } 

    } 
} 

Le problème est la ligne 'var value = [point] obj;' renvoie "function myFunction() {try {.." au lieu de la valeur de retour réelle 'myFunction()'. Comment puis-je appeler la fonction à partir de mon code et obtenir la valeur de retour au lieu du code réel? Merci!

Répondre

1

Modifiez la ligne:

var value = obj[item]();

Vous devez appeler la fonction, de sorte que vous utilisez les parens

0

Utilisez () comme si

var value = obj[item](); 

Si vous voulez passer arguments, il suffit de les mettre entre les parenthèses

var value = obj[item](arg1, arg2); 

Vous pouvez considérer () comme un opérateur d'appel. Fonction en Javascript sont objet et vous appel en utilisant l'opérateur ().

+0

Wow, c'était rapide. Merci à vous deux. Qu'en est-il si je veux passer un argument, simplement obj [item] (Args) ;? Merci! – Kristian

Questions connexes