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