Hola, en esta ocasión veremos un caso práctico de como eliminar funciones en javascript, para tal tarea crearemos una simple función que regresa un simple string, dos botones: uno para mostrar en un div el valor devuelto por la función y el otro para eliminar la función y mostrar un mensaje de que la función no existe. Para eliminar la función utilizaremos la propiedad undefined que nos permitirá en este caso indicar que a la función no le ha sido asignado ningún valor, por lo tanto, la función en ese instante dejará de existir en la memoria. Si intentamos acceder a ella a partir de ese instante obtendremos una excepción como la siguiente: Uncaught TypeError: foo is not a function. Por lo tanto es conveniente ir comprobando con una sentencia if de su existencia o no.
Eliminar funciones en Javascript
Código fuente del ejemplo ...
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<script>
/* Función a eliminar */
foo = function(){
return "Hello World";
}
window.onload = function(){
/* Author: Manu Dávila | Web: http://jquery-manual.blogspot.com */
/* Al hacer click sobre este botón la función estará operativa */
document.getElementById("btn-1").onclick = function(){
/* Si la función existe llamarla */
if (foo !== undefined)
{
document.getElementById("result").innerHTML = foo();
}
};
/* Al hacer click sobre este botón la función será destruida */
document.getElementById("btn-2").onclick = function(){
/* Destruir la función */
foo = undefined;
/* Si la función ha sido destruida */
if (foo === undefined)
{
document.getElementById("result").innerHTML = "foo() no es una función";
}
};
};
</script>
</head>
<body>
<h3>Eliminar funciones en Javascript</h3>
<button type="button" id="btn-1">Function foo()</button>
<button type="button" id="btn-2">Eliminar function foo()</button>
<div id="result"></div>
</body>
</html>
No hay comentarios:
Publicar un comentario