Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Fähigkeiten von js callback function_javascript

Detaillierte Erläuterung der Fähigkeiten von js callback function_javascript

May 16, 2016 pm 04:22 PM
javascript js 回调函数

Die Erstellung nativer Apps und Web-Apps ist mittlerweile der Mainstream, was bedeutet, dass verschiedene browserbasierte Web-App-Frameworks immer beliebter werden und diejenigen, die js erstellen, immer vielversprechender werden. Ich habe auch beschlossen, schrittweise von der Back-End-Entwicklung zur Front-End-Entwicklung und zur mobilen Entwicklung überzugehen. Kommen wir nun ohne weitere Umschweife zu den Dingen im Zusammenhang mit „JS-Callback-Funktionen“.

Apropos Rückruffunktionen: Obwohl viele Leute wissen, was sie bedeuten, haben sie immer noch wenig Verständnis dafür. Was die Verwendung angeht, bin ich immer noch etwas verwirrt. Einige relevante Informationen im Internet erklären nicht im Detail, was vor sich geht, und die Erklärung ist relativ einseitig. Im Folgenden spreche ich nur über mein persönliches Verständnis, kritisieren Sie nicht die Großen. Schauen wir uns eine grobe Definition an: „Funktion a hat einen Parameter, der eine Funktion b ist. Wenn Funktion a ausgeführt wird, wird Funktion b ausgeführt. Dann wird dieser Prozess als Rückruf bezeichnet. Dieser Satz bedeutet, dass Funktion b mit Funktion beginnt.“ a wird als Parameter übergeben und ausgeführt. Die Reihenfolge besteht darin, zuerst a und dann Parameter b auszuführen. Schauen wir uns zunächst das folgende Beispiel an.

Code kopieren Der Code lautet wie folgt:

Funktion a(Rückruf){
alarm('a');
​​callback.call(this);//oder callback(), callback.apply(this), je nach persönlicher Präferenz
}
Funktion b(){
alarm('b');
}
//Rufen Sie
an a(b);

Dieses Ergebnis ist, dass zuerst „a“ und dann „b“ angezeigt wird. Ich denke, jemand wird fragen: „Was bringt es, solchen Code zu schreiben? Er scheint keine große Wirkung zu haben!“

Ja, eigentlich halte ich es auch für sinnlos, so zu schreiben: „Wenn Sie eine Funktion aufrufen, rufen Sie sie einfach direkt in der Funktion auf.“ Ich habe gerade ein kleines Beispiel geschrieben, damit jeder ein vorläufiges Verständnis erlangen kann. Beim eigentlichen Schreiben von Code werden solche Parameter selten verwendet, da wir in den meisten Szenarien Parameter übergeben müssen. Hier ist eine mit Parametern:

Code kopieren Der Code lautet wie folgt:
Funktion c(Rückruf){
        warning('c');
​​callback.call(this,'d');
}
//Anruf
c(function(e){
alarm(e);
});

Kommt Ihnen dieser Aufruf bekannt vor? Hier wird dem e-Parameter der Wert „d“ zugewiesen. Tatsächlich kann er auch als Objekt zugewiesen werden. Gibt es einen e-Parameter in Jquery? Lassen Sie uns weiter unten darüber sprechen

Wie der e-Parameter in Jquery per Rückruf zugewiesen wird.

Ich denke, dass jeder mit dem Jquery-Framework vertraut ist. Es ist relativ einfach, die API online zu durchsuchen, und der Einstieg ist schnell. Im JQuery-Framework müssen wir manchmal einige Parameter im Ereignis abrufen. Beispielsweise möchte ich die Koordinaten des aktuellen Klicks und des angeklickten Elementobjekts abrufen. Diese Anforderung ist in Jquery einfach zu handhaben:

Code kopieren Der Code lautet wie folgt:
           $("#id").bind('click',function(e){
                  //e.pageX, e.pageY, e.target... Verschiedene Daten
        });

Es ist sehr praktisch, die Zuweisung des e-Parameters auch über die Callback-Funktion zu implementieren. Freunde, die den JJquery-Quellcode sorgfältig studiert haben, erhalten einen Objektwert habe das entdeckt.

Das gleiche Prinzip gilt für den Datenparameter in Ajax $.get('',{},function(data){}).

Schauen wir uns an, wie die Callback-Funktion im Jquery-Ereignisobjekt angewendet wird.

Der Einfachheit halber habe ich einfach einige Implementierungen geschrieben, die sich auf $ beziehen. Ich habe zuvor über „Small Talk about Jquery“ geschrieben, das eine Methode hat, die der Framework-Implementierung näher kommt .

Code kopieren Der Code lautet wie folgt:



<script><br>      var   _$=function (id)<br>                { <br>                      this.element=  document.getElementById(id); <br>                 }<br>        _$.prototype={<br>             bind:function(evt,callback)<br>             {<br>                 var   that=this;<br>                 if(document.addEventListener)<br>                 {<br>                     this.element.addEventListener(evt, function(e){<br>                         callback.call(this,that.standadize(e));<br>                     }  ,false);<br>                 }<br>                 sonst if(document.attachEvent)<br>                 {<br>                     this.element.attachEvent('on' evt,function(e){<br>                         callback.call(this,that.standadize(e));<br>                     });<br>                 }<br>                 sonst<br>                     this.element['on' evt]=function(e){<br>                         callback.call(this,that.standadize(e));<br>                     };<br>             },<br>             standadize:function(e){<br>                  var  evt=e||window.event;<br>                  var  pageX,pageY,layerX,layerY;<br>                  //pageX  横坐标  pageY纵坐标   Layer                  if(evt.pageX)<br>                  {<br>                      pageX=evt.pageX;<br>                      pageY=evt.pageY;<br>                  }<br>                  sonst<br>                  {<br>                     pageX=document.body.scrollLeft evt.clientX-document.body.clientLeft;<br>                     pageY=document.body.scrollTop evt.clientY-document.body.clientLTop;<br>                 }<br>                  if(evt.layerX)<br>                  {<br>                      layerX=evt.layerX;<br>                      LayerY=evt.layerY;<br>                  }<br>                  sonst<br>                  {<br>                      LayerX=evt.offsetX;<br>                      LayerXY=evt.offsetY;<br>                  }<br>                  zurück  {<br>                     pageX:pageX,<br>                     pageY:pageY,<br>                     SchichtX:SchichtX,<br>                     SchichtY:SchichtY<br>                  }<br>             }<br>        }<br>        window.$=function(id)<br>        {<br>           return  new _$(id);<br>        }<br>         $('container').bind('click',function(e){<br>             warning(e.pageX);<br>         });<br>         $('container1').bind('click',function(e){<br>              warning(e.pageX);<br>         });<br> </script>

这段代码我们主要看standadize函数的实现,兼容性的代码,就不多说了,返回的是一个对象 

复制代码 代码如下:

     zurück  {
                    pageX:pageX,
                    pageY:pageY,
                    SchichtX:SchichtX,
                    SchichtY:SchichtY
                 }

 然后再看bind函数里面的代码    callback.call(this,that.standadize(e)),这段代码其实就是给e参数赋值了,是用callback回调实现的.

Rückruf 函数被调用的时候传入的是匿名函数

复制代码 代码如下:

         Funktion(e){
        }

而callback.call(this,that.standadize(e))相当于是执行了这么一段代码 

复制代码 代码如下:

(fonction(e){
          })(standadize(e))

C'est également un endroit classique pour Jquery pour utiliser les fonctions de rappel. C'est ainsi que le paramètre e est attribué. Cela dit, vous l'avez peut-être compris et comment l'utiliser.

Les rappels sont largement utilisés dans divers frameworks. Parfois, lorsque vous écrivez quelque chose vous-même, vous pouvez également l'utiliser en fonction de la situation réelle.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen mit PHP und JS Dec 17, 2023 pm 06:55 PM

Wesentliche Tools für die Aktienanalyse: Lernen Sie die Schritte zum Zeichnen von Kerzendiagrammen in PHP und JS. Mit der rasanten Entwicklung des Internets und der Technologie ist der Aktienhandel für viele Anleger zu einer wichtigen Möglichkeit geworden. Die Aktienanalyse ist ein wichtiger Teil der Anlegerentscheidung, und Kerzendiagramme werden häufig in der technischen Analyse verwendet. Wenn Sie lernen, wie man Kerzendiagramme mit PHP und JS zeichnet, erhalten Anleger intuitivere Informationen, die ihnen helfen, bessere Entscheidungen zu treffen. Ein Candlestick-Chart ist ein technischer Chart, der Aktienkurse in Form von Candlesticks anzeigt. Es zeigt den Aktienkurs

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung Apr 03, 2024 am 11:55 AM

Die Technologie zur Gesichtserkennung und -erkennung ist bereits eine relativ ausgereifte und weit verbreitete Technologie. Derzeit ist JS die am weitesten verbreitete Internetanwendungssprache. Die Implementierung der Gesichtserkennung und -erkennung im Web-Frontend hat im Vergleich zur Back-End-Gesichtserkennung Vor- und Nachteile. Zu den Vorteilen gehören die Reduzierung der Netzwerkinteraktion und die Echtzeiterkennung, was die Wartezeit des Benutzers erheblich verkürzt und das Benutzererlebnis verbessert. Die Nachteile sind: Es ist durch die Größe des Modells begrenzt und auch die Genauigkeit ist begrenzt. Wie implementiert man mit js die Gesichtserkennung im Web? Um die Gesichtserkennung im Web zu implementieren, müssen Sie mit verwandten Programmiersprachen und -technologien wie JavaScript, HTML, CSS, WebRTC usw. vertraut sein. Gleichzeitig müssen Sie auch relevante Technologien für Computer Vision und künstliche Intelligenz beherrschen. Dies ist aufgrund des Designs der Webseite erwähnenswert

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

So schreiben Sie eine Java-Callback-Funktion So schreiben Sie eine Java-Callback-Funktion Jan 09, 2024 pm 02:24 PM

Die Schreibmethoden der Java-Rückruffunktion sind: 1. Schnittstellenrückruf: Definieren Sie eine Schnittstelle, die eine Rückrufmethode enthält, verwenden Sie die Schnittstelle als Parameter, an dem der Rückruf ausgelöst werden muss, und rufen Sie die Rückrufmethode zum entsprechenden Zeitpunkt auf. Anonymer innerer Klassenrückruf: Sie können anonyme innere Klassen verwenden, um Rückruffunktionen zu implementieren, um die Erstellung zusätzlicher Implementierungsklassen zu vermeiden. 3. Lambda-Ausdrucksrückrufe In Java 8 und höher können Sie Lambda-Ausdrücke verwenden, um das Schreiben von Rückruffunktionen zu vereinfachen.

PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen PHP- und JS-Entwicklungstipps: Beherrschen Sie die Methode zum Zeichnen von Aktienkerzendiagrammen Dec 18, 2023 pm 03:39 PM

Mit der rasanten Entwicklung der Internetfinanzierung sind Aktieninvestitionen für immer mehr Menschen zur Wahl geworden. Im Aktienhandel sind Kerzendiagramme eine häufig verwendete Methode der technischen Analyse. Sie können den sich ändernden Trend der Aktienkurse anzeigen und Anlegern helfen, genauere Entscheidungen zu treffen. In diesem Artikel werden die Entwicklungskompetenzen von PHP und JS vorgestellt, der Leser wird zum Verständnis des Zeichnens von Aktienkerzendiagrammen geführt und es werden spezifische Codebeispiele bereitgestellt. 1. Aktien-Kerzendiagramme verstehen Bevor wir uns mit dem Zeichnen von Aktien-Kerzendiagrammen befassen, müssen wir zunächst verstehen, was ein Kerzendiagramm ist. Candlestick-Charts wurden von den Japanern entwickelt

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Grundlegende Syntax und Anwendung von Callback-Funktionen in Java Grundlegende Syntax und Anwendung von Callback-Funktionen in Java Jan 30, 2024 am 08:12 AM

Einführung in das grundlegende Schreiben und Verwenden von Java-Rückruffunktionen: In der Java-Programmierung ist die Rückruffunktion ein gängiges Programmiermuster. Durch die Rückruffunktion kann eine Methode als Parameter an eine andere Methode übergeben werden, wodurch ein indirekter Aufruf der Methode erreicht wird. Die Verwendung von Rückruffunktionen ist in Szenarien wie der ereignisgesteuerten, asynchronen Programmierung und Schnittstellenimplementierung sehr verbreitet. In diesem Artikel wird das grundlegende Schreiben und Verwenden von Java-Rückruffunktionen vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Definition der Callback-Funktion Eine Callback-Funktion ist eine spezielle Funktion, die als Parameter verwendet werden kann

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

See all articles