Alle JavaScript Funktionsnamen ermitteln?

Josh

Legendäres Mitglied
Hi alle

Gibt es eine Möglichkeit, die Namen aller definierten JS Funktionen zu ermitteln?

Danke und Gruss
Josh
 
suchst du so etwas?

wozu brauchst du es? um etwas zu debuggen? da gibts bessere möglichkeiten..

Gruss

Spaceman007

CODE
<script>
function testfunction1(){}
function testfunction2(){}
function testfunction3(){}

</script>
<script>
function a(){}
function b(){}
function c(){}
function d(){}
</script>




<script>
// DIESER TEIL HOLT ALLE FUNTIONEN AUS DEN SCRIPT BLÖCKEN RAUS...
// ER MUSS GANZ ZU UNTERST AUF DER HTML SEITE EINGEFÜGT WERDEN

var allObjects = document.all.tags("script");

for( i=0; i<allObjects.length; i++ )
{
tmpCode = allObjects[i].innerHTML;


if( tmpCode.indexOf("function") != -1 )
{
while( tmpCode.indexOf("function") != -1 )
{
var functionName = tmpCode.substring( tmpCode.indexOf("function")+9, tmpCode.indexOf("(") )


if( typeof eval( functionName ) == "function")
{
alert( "Funktion: " + functionName + "()" )
}


tmpCode = tmpCode.substring( tmpCode.indexOf( "(" )+1 , tmpCode.length )

}
}
}
</script>

 
hallo

ja das könnte sein, was ich suche.
smile.gif


es geht darum, dass ich automatisch alle funktionen beim laden des dokuments aufrufen möchte, welche mit init...() beginnen. damit kann ich in body onload="init();" aufrufen und dieses sucht alle funktionen mit präfix init und ruft sie auf.

gruss
 
@spaceman
Den Code find ich schick, hätte nicht gedacht dass das tatsächlich geht ;-)

@Josh
Ich rege mich zwar selber immer über Leute auf, welche auf Fragen in Foren keine gescheite Lösung wissen aber dafür erklären, dass man sowas überhaupt nicht macht weil unsauber etc. pp.
Aber wenn ich lese "automatisch alle funktionen beim laden des dokuments aufrufen, welche mit init...() beginnen", dann grausts mich doch
wacko.gif

Da können soviele Folgefehler passieren, weil vielleicht im einen Init... etwas passiert, was dann das nächste Init... negativ beeinflusst, oder Rekursionen mit Endlosloops oder sonstwas unschönes. Ausserdem klingt es danach, dass der Client beim Laden dieser Seite erstmal zu 100% ausgelastet wird...
Gibt es tatsächlich eine Konstellation, die diesen Programmierstil notwendig macht?

Griessli
Irene
 
@Irene:
Danke für diesen Eintrag!!! Auch ich rege mich furchtbar über Leute auf die keine Lösung, resp. keinen Lösungsansatz posten.
=> Ich muss zugeben dass ich von einigen der Leute hier im Forum garkeine Beiträge mehr lese, da ich weiss das es eh nur bla bla ist mit dem Ziel "auch noch was zu sagen...."

Andere Posten einfach mal drauf los, ohne sich mal gedanken zu machen oder mal mr. google zu fragen....

Ich möchte zu ein bischen mehr disziplin aufrufen.
=> "think first, write later"
=> "shut up, if you ain't have nothing to say"

@Josh
Dein Ansatz finde ich zwar interessant, doch sehe ich ähnliche Probleme wie Irene.
 
@ Irene und spaceman007:

Danke für das Feedback! Ich schaue momentan auf neue Ufer, und überlege mir neue Techniken. Steckt also alles noch in der Planungs- bzw. Evaluierungsphase, und es muss überhaupt nicht toll sein, sondern nur eine erste Idee.
wink.gif
Deshalb sind eure Feedbacks sehr wertvoll für mich, vorallem auch solche, welche mich auf Probleme hinweisen.
smile.gif


Grüsse
Josh
 
Zurück
Oben