Maison >interface Web >js tutoriel >Comment personnaliser une fonction de rappel dans jQuery
Tout d'abord, traduisez "callback" du sens littéral de callback. On peut comprendre qu'il s'agit d'un mécanisme permettant d'appeler des fonctions
Lorsque nous rencontrons un nom, nous pouvons d'abord rechercher sur Baidu. et Google pour voir quelle est l'explication officielle
Voici la définition du rappel de Wikipédia :
un rappel est un morceau de code exécutable qui est passé comme argument à un autre code qui est censé rappeler (exécuter) l'argument à un moment opportun
Traduction difficile : une fonction de rappel est un segment de code exécutable qui est utilisé comme paramètre d'une autre fonction. Ce segment de code est exécuté à un moment opportun <.>
Explication populaire : Traitez la fonction f2 comme un Les paramètres sont passés à la fonction f1 et f2 est exécuté au moment approprié dans f1 (j'utilise f1, f2 dans tous les exemples ci-dessous)Nous avons donc peut obtenir un modèle de fonction de rappel comme celui-cifunction f1(f2) { //f1要执行的一些代码 if (f2 && typeof(f2) === "function") { //对f2做判断是否存在并且是一个函数 f2(); } }Il convient de noter ici que f2 dans les deux paramètres est un pointeur vers la fonction f2, donc f2 ne peut pas être suivi de parenthèses , et f2 à l'intérieur de f1 doivent être suivis de crochets car nous devons appeler et exécuter f2 à ce moment-là, donc pour écrire f2() instancions ce modèle et voyons son résultat d'exécution
声明函数function f1(f2) { alert("我是f1");if (f2 && typeof(f2) === "function") { //写上判断是个好习惯f2() } } 执行 f1(function() { alert("我是f2"); }) 结果://"我是f1",“我是f2”Regardons l'ensemble du processus d'exécution de la fonction. Lors de l'appel de f1(function(){alert( "I am f2");}) transmet d'abord une fonction anonyme à f1(), et cette fonction anonyme est le paramètre f2 dans la fonction déclarée. Le programme javascript est exécuté de haut en bas alert("I am f1"); puis exécuté f2();Peut-on l'écrire comme ça ?
function f1(f2) { alert("我是f1"); if (f2 && typeof(f2) === "function") { f2() } alert("我又是f1 哈哈"); } 执行 f1(function(){ alert("我是f2"); })//结果:我是f1 ,我是f2,我又是1 哈哈En regardant la définition du rappel, nous pouvons effectuer un rappel dans Nous l'exécutons quand nous voulons l'exécuter, sans affecter le flux d'exécution de f1 lui-même Mais par souci d'encapsulation et de beauté , la plupart d'entre nous l'écrirons comme ceci
function f1(f2){ if (f2 && typeof(f2) === "function") { settimeOut(function(){f2()},1000) ;//f1执行1s后f2执行} }function f2(){/**/} f1(f2);En fait, la fonction de rappel n'est pas si compliquée en js, la fonction peut être traitée comme un paramètre ordinaire. Tant que () est ajouté après, cela signifie appeler cette fonction. Regardez à nouveau l'exemple suivant
$(function(){ function funcname(param){ //do something //callback param.callback(); } //调用 funcname({ callback:function(){ alert('callback do'); } }); });On peut également voir dans l'exemple ci-dessus qu'en fait, chaque fois qu'une fonction est définie, la fonction est ajoutée à la pile du conteneur, et l'index est le nom de la fonction. La valeur par défaut est sous la fenêtre, vous pouvez donc y lancer la chaîne, et vous pouvez également appeler cette fonction de rappel via la chaîne sous la fenêtre. Avec les paramètres, vous pouvez utiliser la méthode ci-dessus. Par exemple, un exemple dans jQuery
$("#div1").fadeOut("fast",functin(){ $("#div2").fadeIn("slow"); })permet de masquer rapidement #div puis d'afficher progressivement #div2. Il existe un grand nombre de fonctions de rappel dans jQuery
<.> et il y a une méthode spéciale de rappel pour gérer
Enfin, laissez-moi parler des rappels que j'ai récemment utilisés dans des projetsjQuery.Callbacks = function( options ) {...}
La fonction de l'application hybride est probablement que j'envoie une requête à ios et ios renvoie Donnez-moi les données json puis j'analyse les données renvoyées et les insère dans la page Web
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!