Funciones en Javascript

Revisando un proyecto javascript Open Source (https://github.com/Leaflet/Leaflet.draw) encontré que declaran las funciones de un modo nuevo para mi.  Buscando por internet encontré que en Javascript hay 3 formas para definir una función:

  • function expression,  usa el operador “function” para crear una función.  El resultado de ese operador puede ser almacenado en cualquier variable o propiedad de un objeto.  Con frecuencia se refiere a este modo de declaración como “anonymous function” (función anónima) ya que no tiene un nombre.
var functionOne = function(){

//instrucciones

}
  • function declaration,  esto es declarar una función usando la sentencia “function”.  La función está disponible en “parse time” (algo así como en ejecución) y puede ser llamada en cualquier parte de ese ámbito.  Es posible almacenarla en una variable o en un objeto.
function fuctionTwo(){

//instrucciones

}</blockquote>
  • “Function()” constructor,  no se recomienda su uso ya que trabaja de la misma forma que eval() y tiene sus mismos problemas.

Más información

http://www.permadi.com/tutorial/jsFunc/index.html

http://kangax.github.io/nfe/

http://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/