2012-04-13 4 views
0

Ich wollte nur fragen, ob es möglich ist, eine Zeichenkette zu nehmen, die immer konstant ist und den Namen einer Funktion hinzufügt. ein Beispiel:In Javascript, ist es möglich, eine Zeichenfolge zu einem Funktionsnamen hinzuzufügen?

function modifyFunctionName(theFunc) 
{ 
    var newFunc = "link" +theFunc; 
    return newFunc; 
} 
//Somewhere in the HTML: 
<input type='submit' value='button' onclick='modifyFunctionName(CheckLogin())'/> 

So ist die modifyFunctionName wird linkCheckLogin() zurück.

EDIT: Sorry Leute eigentlich, was ich genau habe versucht, dies zu tun: https://gist.github.com/2371187

+3

Was möchten Sie tun? –

+2

Sieht wie ein guter Kandidat für ein XY Problem aus (http://mywiki.wooledge.org/XyProblem). Was versuchst du wirklich? –

+0

Es scheint, dass OP möchte eine andere Event-Handler-Funktion zuweisen, abhängig von 'CheckLogin()' Rückgabewert. – Teemu

Antwort

1

Es ist technisch möglich, aber Sie müssten eval verwenden, und das ist keine gute Idee. Was Sie tun könnten, ist ein Objekt zu erstellen und nur Referenzen auf Funktionen zu speichern und es würde auf die gleiche Weise funktionieren.

0
<script> 

    function one() { 
     alert("one"); 
    } 

    eval("function two() { one();}"); 
    two(); 

</script> 
0

basierend auf der Frage: es nicht ganz klar ist, was Sie tun möchten, wie auch immer, können Sie alles eval dass an einem Rahmen befestigt:

myFunction(aString){ 
// window is the scope , the context. 
window[aString] = myFunction ; 
} 

die Frage ist, warum sollten Sie das tun wollen?

Verwandte Themen