2010-05-19 9 views
7

Ich möchte eine anonyme Funktion an eine andere Funktion übergeben, aber es scheint nicht so zu funktionieren, wie ich es möchte.Wie übergeben und eine Funktion als Argument in Javascript aufrufen?

Ich habe den Code hinzugefügt, ich denke, es würde Ihnen eine bessere Idee geben, was ich tun würde.

Wie übergebe ich erfolgreich eine Funktion als Argument und rufe es dann auf?

<script language="javascript" type="text/javascript"> 
function do_work(success) { 
    success; 
} 

do_work(function() { 
    alert("hello") 
}); 

</script> 
+3

Das 'Sprache' Attribut ist [veraltet] (http://www.w3.org/TR/REC-html40/ interact/scripts.html # edef-SCRIPT). –

+0

warten! bedeutet das nicht mehr vbscript? ;)) –

Antwort

14

Sie haben tatsächlich die Funktion aufrufen:

function do_work(success) { 
    success(); 
} 
+0

Danke! Ich wusste, dass es etwas Einfaches sein musste. –

0

Die Variable Erfolg ist eine "Instanz" von Function, so dass Sie auch gelten() aufrufen können, das Ihnen erlaubt, Um den Geltungsbereich neu zu definieren:

function do_work(success) { 
    var foo = { 
     bar : "bat"   
    } 
    success.apply(foo); 
} 

do_work(function() { 
alert(this.bar) 
}); 
Verwandte Themen