Estaba estudiando C ++ recientemente y vi punteros de función. Como había estado trabajando en ASP antes, me preguntaba si existía tal puntero de función en ASP. Busqué en Baidu y descubrí que no había mucha introducción sobre este aspecto, así que. Miré el manual de VBScript y no pude encontrarlo. Me decepcioné y encontré la función GetRef. Cité la descripción de la función GetRef en el manual.
Devuelve una referencia a un procedimiento al que se puede vincular un evento.
Establecer objeto.nombre del evento = GetRef(nombreproc)
parámetro
objeto
Requerido. El nombre del objeto asociado con el evento.
nombre del evento
Requerido. El nombre del evento que se vinculará a la función.
procnombre
Requerido. Esta cadena contiene el nombre del procedimiento Sub o Función asociado con el evento.
ilustrar
La función GetRef se puede utilizar para asociar un procedimiento VBScript (Función o Sub) con cualquier evento disponible en una página DHTML (HTML dinámico). El modelo de objetos DHTML proporciona información sobre varios eventos disponibles para diferentes objetos.
En otros lenguajes de programación y scripting, la funcionalidad proporcionada por GetRef se conoce como puntero de función, es decir, apunta a la dirección de un procedimiento que se ejecutará cuando ocurre un evento específico.
El siguiente ejemplo ilustra el uso de la función GetRef:
Copie el código de código de la siguiente manera:
<IDIOMA DE ESCRITURA=VBScript>
Función ObtenerPruebaRef()
Salpicadura tenue
Salpicadura = GetRefTest Versión 1.0 y vbCrLf
Splash = Splash & Chr(169) & Su Empresa 1999
Salpicadura de cuadro de mensaje
Función final
Establecer ventana.Onload = GetRef(GetRefTest)
</SCRIPT>
Probablemente signifique que se usa para vincular eventos. Como no sé mucho sobre eventos en ASP, no discutiré mucho sobre la relación entre GetRef y los eventos aquí. Aquí solo estudiamos el uso de GetRef en aplicaciones de desarrollo WEB.
En PHP, PHP no admite punteros, por lo que no se puede utilizar la tecnología de puntero de función. PHP admite las llamadas variables de función, que pueden asignar funciones a una variable, y sus funciones son similares a los punteros de función.
Ejemplo más simple:
Puedes hacer esto en PHP
Copie el código de código de la siguiente manera:
<?php
$nombrefunción = cutstr;
echo $nombrefunción();
función cortestr() {
función de retorno;
}
?>
Con GetRef, ASP también puede implementar funciones similares a las anteriores:
<%
nombre de función tenue
nombrefunción = cutstr
respuesta.Escribir(getref(nombrefunción))
función cortestr()
cadenacortar = función
función final
%>
Aplicaciones prácticas:
Al realizar proyectos de gestión en segundo plano, como agregar, eliminar, modificar noticias y otras operaciones, se procesan en la misma página. Generalmente, insertaremos una acción de campo oculto en el formulario, o la acción del parámetro URL, y determinaremos en qué paso. La operación se basa en el valor de la acción. Normalmente se escribe así:
seleccione caso request.querystring(acción)
case add: 'El segmento de código que se va a operar....
modificación de caso: 'El segmento de código que se va a operar....
finalizar seleccionar
O usar si no
El uso de variables de función puede hacer que el código sea más conciso y claro. Se adjunta un ejemplo completo, que es una operación comúnmente utilizada en segundo plano. Modificar, eliminar, agregar.
Puedes usar ?action=××× para probar los resultados
Copie el código de código de la siguiente manera:
<%
opción explícita
acción_matriz tenue
'Nombre del módulo legal
array_action = array(lista,añadir,añadir_formulario,modificar,modificar_formulario,eliminar)
'Producción
respuesta.escribir(getref(acción))
'Compruebe si los parámetros son legales
acción de función()
dim str: str = solicitud.querystring(acción)
acción = matriz_acción(0)
si arr_in(array_action,str) entonces acción = str
función final
'Parte de operación----------------------
lista de funciones()
lista = mostrar información de la lista
función final
función agregar()
agregar = realizar operación de agregar
función final
función agregar_formulario()
add_form = mostrar formulario de adición
función final
función modificar()
modificar = realizar operación de modificación
función final
'--------------------------------
'Comprueba si existe en la matriz
función arr_in(a,v)
arr_in = falso
oscuro yo
si es una matriz (a) entonces
para cada i en un
si i = v entonces: arr_in = true: salir para: finalizar si
próximo
terminar si
función final
%>
Muchas publicaciones analizan ASP, PHP y .NET. ¿Cuál es mejor? Personalmente, creo que no es un problema de idioma, sino un problema de pensamiento. Una vez que comprenda los principios funcionales del sitio web, será lo mismo. ¿El lenguaje que utilizas para escribirlo es eficiente? ¿El código es conciso y claro? Entonces depende de tu propio nivel. ¡Todos son bienvenidos a discutir!