Do not speak Spanish? Read this post in English.

Domingo, 22 de Febrero de 2009.

usar funciones javaScript

Por lo general, en la mayor parte de los manuales se indica que las funciones en javaScript deben definirse en el formato clásico:

1
2
3
function miFuncion ( variable1, variable2) {
   // Código
}

Sin embargo las funciones en javaScript son mucho más versatiles y permiten ser definidas en cualquier momento, incluso (y esta es la parte brillante) como variables y en los mismos ámbitos que las variables...

1
2
3
var miFuncion = function ( variable1, variable2) {
   // Código
}

¿Por qué es tan importante esta modalidad para declarar las funciones? Básicamente, porque nos permite entender las funciones como procesos que podemos definir y redefinir en cualquier momento según nuestras necesidades. Seguidamente mostraré unos cuantos ejemplos de como sacar partido a estas carácteristicas...

Funciones redefinibles

Declaradas de esta forma las funciones pueden ser redefinidas en cualquier momento.

1
2
3
4
5
6
7
8
9
10
11
var operacionMatematica = function ( variable1, variable2) {
   return variable1 + variable2;
}
 
// Uso de operacionMatematica() como sumador...
 
operacionMatematica = function ( variable1, variable2) {
   return variable1 * variable2;
}
 
// Uso de operacionMatematica() como multiplicador...

Definiendo metodos de objetos

Al ser las propiedades de los objetos como variables, la definición de métodos de esta forma se hace mucho más sencilla:

En javascript Literal...

1
2
3
4
5
6
var miObjeto = {
   propiedad1 : "valor 1",
   metodo1 : function (variable1) {
      //código...
   }
}

O sobre objetos ya definidos...

1
2
3
4
5
var miObjeto = {...}
 
miObjeto.nuevoMetodo = function () {
   // código
}

En lugar de codigos javaScript lanzados desde strings

Resultan muy engorrosas esas opciones de javaScript que te permiten incluir como string y codigo javaScript que luego será ejecutado. Es mucho más cómodo definir como función ese parametro y que sea esta función la que sea lanzada.

1
2
3
4
5
6
// en vez de usar...
setTimeout( "codigo javascript",2000);
// usamos...
setTimeout( function(){
  //codigo
},1000);

Pasando procesos a otras funciones

Sobretodo en procesos de callback (acciones a realizar cuando la función acabe) resulta muy util no tener que definir la función que pasamos y en vez de eso definir la función como si fuese una variable de entrada de la primera función.

1
2
3
4
5
6
7
8
9
10
11
12
13
var miFuncion = function ( variable1, procesoCallBack) {
   // Código
  var x=1; // Suponiendo que el codigo defina x
  var y=2; // Suponiendo que el codigo defina y
  procesoCallBack( x , y );
}
 
miFuncion( "valor cualquiera", function (variable1,variable2 ) {
 alert( x + y );
};
 
// Se ejecutaría el codigo de miFunción y al terminar
// se mostraría un alert que diría "3".

Estas funciones se hacen realmente interesantes como callBacks para procesos Ajax, con restrasos en el tiempo o con animaciones.

Posts Relacionados:

  1. Reemplazar partes de funciones javascript
  2. Reescribir funciones en javascript
  3. comprobar resultado de varias funciones seguidas en php
  4. parse_ini_file() con arrays de gran profundidad | advanced_parse_ini_file()
  5. Aprender a manejar Canvas con JavaScript

Temas Relacionados: jquery

Autor:

Anímate y deja tu comentario