J'étudiais le C++ récemment et j'ai vu des pointeurs de fonction. Comme j'ai déjà travaillé sur ASP, je me suis demandé s'il existait un tel pointeur de fonction dans ASP. J'ai cherché sur Baidu et j'ai découvert qu'il n'y avait pas beaucoup d'introduction sur cet aspect, alors j'ai fait une recherche sur Baidu. j'ai parcouru le manuel VBScript et je ne l'ai pas trouvé. J'ai été déçu et j'ai trouvé la fonction GetRef. J'ai cité la description de la fonction GetRef dans le manuel.
Renvoie une référence à une procédure à laquelle un événement peut être lié.
Définir object.eventname = GetRef (procname)
paramètre
objet
Requis. Le nom de l'objet associé à l'événement.
nom de l'événement
Requis. Le nom de l'événement à lier à la fonction.
nom_proc
Requis. Cette chaîne contient le nom de la procédure Sub ou Function associée à l'événement.
illustrer
La fonction GetRef peut être utilisée pour associer une procédure VBScript (Fonction ou Sub) à tout événement disponible dans une page DHTML (HTML dynamique). Le modèle objet DHTML fournit des informations sur les différents événements disponibles pour différents objets.
Dans d'autres langages de script et de programmation, la fonctionnalité fournie par GetRef est connue sous le nom de pointeur de fonction, c'est-à-dire qu'elle pointe vers l'adresse d'une procédure à exécuter lorsqu'un événement spécifié se produit.
L'exemple suivant illustre l'utilisation de la fonction GetRef :
Copiez le code comme suit :
<LANGUE SCRIPT=VBScript>
Fonction GetRefTest()
Faible éclaboussure
Splash = GetRefTest version 1.0 et vbCrLf
Splash = Splash & Chr(169) & VotreEntreprise 1999
MsgBox Splash
Fonction de fin
Définir Window.Onload = GetRef (GetRefTest)
</SCRIPT>
Cela signifie probablement qu'il est utilisé pour lier des événements. Comme je ne connais pas grand-chose aux événements dans ASP, je ne discuterai pas trop de la relation entre GetRef et les événements ici. Nous étudions ici uniquement l’utilisation de GetRef dans les applications de développement WEB.
En PHP, PHP ne prend pas en charge les pointeurs, la technologie des pointeurs de fonction ne peut donc pas être utilisée. PHP prend en charge ce que l'on appelle les variables de fonction, qui peuvent attribuer des fonctions à une variable, et leurs fonctions sont similaires aux pointeurs de fonction.
Exemple plus simple :
Vous pouvez le faire en PHP
Copiez le code comme suit :
<?php
$funcname = cutstr;
echo $funcname();
fonction cutstr() {
fonction de retour ;
}
?>
Avec GetRef, ASP peut également implémenter des fonctions similaires à celles ci-dessus :
<%
dim nom de fonction
nom de fonction = chaîne de coupe
réponse.Write(getref(funcname))
fonction cutstr()
cutstr = fonction
fonction de fin
%>
Applications pratiques :
Lorsque vous effectuez des projets de gestion en arrière-plan, tels que l'ajout, la suppression, la modification de nouvelles et d'autres opérations, sont traités sur la même page. Généralement, nous insérerons une action de champ caché dans le formulaire, ou l'action de paramètre d'URL, et déterminerons quelle étape du processus. L’opération est basée sur la valeur de l’action. Généralement écrit comme ceci :
sélectionnez le cas request.querystring (action)
case add : 'Le segment de code à exploiter....
case modifier : 'Le segment de code à exploiter....
fin de la sélection
Ou utilisez si d'autre
L'utilisation de variables de fonction peut rendre le code plus concis et clair. Vous trouverez ci-joint un exemple complet, qui est une opération couramment utilisée en arrière-plan. Modifier, supprimer, ajouter.
Vous pouvez utiliser ?action=××× pour tester les résultats
Copiez le code comme suit :
<%
option explicite
dim array_action
'Nom du module juridique
array_action = array(liste, ajouter, ajouter_form, modifier, modifier_form, del)
'Sortir
réponse.write(getref(action))
'Vérifiez si les paramètres sont légaux
action de fonction()
dim str : str = request.querystring(action)
action = tableau_action(0)
si arr_in(array_action,str) alors action = str
fonction de fin
'Partie opération----------------------
liste de fonctions()
list = afficher les informations de la liste
fonction de fin
fonction ajouter()
add = effectuer une opération d'ajout
fonction de fin
fonction add_form()
add_form = afficher le formulaire d'ajout
fonction de fin
fonction modifier()
modifier = effectuer une opération de modification
fonction de fin
'--------------------------------
'Vérifiez s'il existe dans le tableau
fonction arr_in(a,v)
arr_in = faux
je suis faible
si un tableau (a) alors
pour chaque je dans un
si i = v alors : arr_in = true : sortie pour : fin si
suivant
finir si
fonction de fin
%>
De nombreux articles parlent d'ASP, de PHP et de .NET. Lequel est le meilleur ? Personnellement, je pense que ce n'est pas un problème de langage, mais un problème de réflexion. Une fois que vous aurez compris les principes fonctionnels du site Web, ce sera le même quoi qu'il arrive. langage que vous utilisez pour l’écrire. Est-il efficace ? Le code est-il concis et clair ? Cela dépend ensuite de votre propre niveau. Tout le monde est invité à discuter !