# Darf anonyme Funktion Parameter haben ?



## ernst (6. Apr 2015)

Hallo allerseits,
einem Event-Handler darf man nur eine Funktionsreferenz zuweisen.
Macht man dies über eine anonyme Funktion, kann das z.B. so aussehen:
<JAVA>
window.onkeypress = function(){
...}
</JAVA>
Die anonyme Funktion darf keine Parameter enthalten (so weit ich weiß)

Jetzt habe ich aber folgendes gesehen:
<JAVA>
window.onkeypress = function(my_evt){
...}
</JAVA>

wobei my_evt das Ereignisobjekt bezeichnet, das z.B. durch einen Tastendruck erzeugt wird
und in der anonymen Funktion ausgewertet werden könnte.

Frage:
Darf eine anonyme Funktion einen Parameter haben (wie z.B. my_evt) ?

mfg
Ernst


----------



## Finnerale (7. Apr 2015)

Meines Wissens ist das, was du meinst einfache eine "lambda" und diese ersetzt einfach eine Annonyme Klasse.
Wenn diese Klasse jetzt Parameter besitzt, kann auch die lambda diese Parameter nutzen.

Grüße.


----------



## ernst (7. Apr 2015)

Finnerale hat gesagt.:


> Meines Wissens ist das, was du meinst einfache eine "lambda" und diese ersetzt einfach eine Annonyme Klasse.
> Wenn diese Klasse jetzt Parameter besitzt, kann auch die lambda diese Parameter nutzen.
> 
> Grüße.


Danke für deine Antwort.
Leider weiß ich nicht, was du meinst.
Was ist insbesondere eine "lambda"?

mfg
ernst


----------



## Finnerale (7. Apr 2015)

Eine lambda ist, wenn du eine anonyme Klasse (z.B. Runnable) hast, welche ein "Funktionalinterface" ist.
Dieses Funktionalinterface hat dann eine spetielle Metode (eine funktionelle) und dann kannst du anstatt diese Klasse zu überschreiben einfach die Funktionalmedode direkt überschreiben. Das ist eine der Neuerungen von Java8.

Grüße.


----------



## ARadauer (7. Apr 2015)

der eine redet von Java der andere von Java Script

gute frage.. also wenn sie nicht ananym ist, funktionierts oder?

document.onkeypress = meineMethode;
function meineMethode(event){
  ...
}


----------

