Kann ich die lambda-Ausdrücke in JQuery?
In jQuery lambda-Funktionen, der Nutzer fragt über das Debuggen von lambda-Ausdrücken in JQuery. Ich habe gesucht, viele Seiten, und ich bin nicht in der Lage, Beispiele für lambda-Ausdrücke in JQuery. Weiß jemand, ob das möglich ist, und wenn ja, wo kann ich Beispiele finden?
Möchten Sie vielleicht etwas mehr ins detail gehen über das, was Sie tun möchten, vielleicht mit ein paar pseudo-code, um zu klären, Ihre Frage.
InformationsquelleAutor Dave | 2011-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lambda-Ausdruck verwendet werden (unter anderem) als ein Kürzel für die Angabe anonyme Funktionen (auch als anonyme Delegaten oder anonyme Methoden). Das ist Zeiger auf Funktion, die Sie definieren, on-the-fly.
Sehen diese gemeinsame JQuery-Ajax-Beispiel:
Den Erfolg parameter verwendet Javascript on-the-fly-Funktion, definition und Zeiger. Also ja, es ist ein kindof lambda-syntax für anonyme Funktion in javascript. In der Tat, dies ist sehr ähnlich zu VB.NET's lambda-syntax, verwendet sehr kraftvoll für beide Ausdruck Bäume und anonyme Funktionen:
So, man könnte sagen, es ist eine lambda-syntax in JQuery, obwohl viele denken würden, es unelegant.
Wenn du meinst, lambda-Ausdrücke, um anzugeben,Ausdruck Bäume, dann ist die Antwort einfach: Nein, JQuery nicht verwenden, jede Art von lambda-syntax zum Ausdruck Bäume.
InformationsquelleAutor Patrick Karcher
JavaScript nicht wirklich lambda-Ausdrücke, weil Sie explizit einen Wert zurückgeben. Einige Sprachen wie ruby automatisch wieder den Wert der letzten Anweisung, aber in JavaScript funktioniert das nicht:
Aber wenn Sie hinzufügen, die Rückkehr in es es funktioniert.
new
Betreiber, so ein Objekt wird automatisch erstellt, basierend auf dieser Funktion Prototyp, und sagte-Objekt wird automatisch zurückgegeben. In anderen Kontexten wird der Wertundefined
ist automatisch zurückgegeben.Oh, aber das ist wahrscheinlich nicht das, was du meintest.
Stimmt, aber lambda-Ausdrücke normalerweise zurückgeben möchten Grundelemente, wie ints oder strings. Für Objekte, sicher, Konstruktor-Formular könnte ein Weg zu gehen.
InformationsquelleAutor jpsimons
Den Begriff, den Sie suchen, in JS ist das "anonyme Funktion", z.B.
Insbesondere die anonyme Funktion Teil ist die
InformationsquelleAutor jball
jQuery ist eine Erweiterung der Programmiersprache Javascript. Meines Wissens gibt es keine lambda-Unterstützung in javascript. was Sie sehen, ist nicht wirklich lambda-Ausdruck, der aber die Funktion verketten und übergeben von Funktionen als first class objects, ähnlich wie bei Func. Lambda-Ausdrücke sind nicht in der javascript-Sprache spec.
Lambdas sind mehr on-the-fly-Funktionen. Was ich meinte war, dass die Unterstützung für das schreiben so etwas wie "x, so dass x*2" ist nicht vorhanden. Sie könnte sogar passieren, Funktionen und Methodenaufrufe verketten in C. Sie werent lambas IMO. Ihre "lambdas sind Lust auf anonyme Funktion" ist in einer Weise zu korrigieren.
hier ist Herr Lippert ' s Artikel über die gleiche blogs.msdn.com/b/ericlippert/archive/2007/01/10/...
Sehr guter Punkt, obwohl
Lambda-Ausdrücke kehren immer wieder zurück. ergo, eine anonyme Funktion ist ein wenig anders, konzeptionell, aber da in js alle nicht-Rückgabe Funktionen tatsächlich undefined zurück, könnte man argumentieren, dass alle js-Funktionen lambdas
InformationsquelleAutor Perpetualcoder
Ich denke, Sie beziehen sich auf ein Vanille-callback-syntax und dem spezifischen problem, das Sie haben, zu tun mit, wie Sie mit Visual Studio Debuggen von JavaScript.
Das ist, was ich denke, Sie beziehen sich auf als 'lambda'
InformationsquelleAutor Art
Könnten Sie daran interessiert sein, die http://jslinq.codeplex.com/ Projekt. Während dies nicht wirklich eine wahre lambda-syntax für javascript, ermöglicht es Ihnen, die
linq
- Erweiterung Methoden (wiewhere
,orderby
etc) auf alles, was ein array ist.InformationsquelleAutor Nathan Anderson
Seit dem Aufkommen von ECMAScript 6 (im Juni 2015), können Sie mit der "Pfeil-operator", und damit das funktioniert:
... zumindest in moderne Chrome, Firefox, Edge und Opera, nach https://kangax.github.io/compat-table/es6/#test-arrow_functions.
Beachten Sie, dass der Pfeil Funktionalität nicht "dieser" in der Funktionen aufgerufen, also sind Sie nicht sehr gut als event-Handler, im Vergleich zur guten alten anonyme Funktionen:
InformationsquelleAutor Sinus Mackowaty
yah, aber die Pfeiltasten funktionieren nicht im IE11 als "lassen".
http://kangax.github.io/compat-table/es6/
InformationsquelleAutor Aliaksandr Shpak
Verwenden Sie diesen code:
Außer für den DH, es wird die Arbeit für jeden Ort.
InformationsquelleAutor Rohit Dodiya