makeit.rceamapl 
Hablemos de Funciones 
Germán Escobar 
germanescobar.net! 
@germanescobar! 
!
makeitreal .camp Funciones 
Función 
Parámetros 
Valor de retorno
makeitreal .camp Funciones 
En JavaScript, las funciones 
están en todos lados. 
! 
A veces son truculentas.
makeitreal .camp Asignar a Variables 
var saludar = function() { 
console.log(“Hola”); 
};
makeitreal .camp Parámetro de otra función 
function saludar(func) { 
func(“Hola”); 
} 
! 
saludar(function(saludo) { 
console.log(saludo); 
});
makeitreal .camp Parámetro de otra función 
function saludar(func) { 
func(“Hola”); 
} 
! 
var f = function(saludo) { 
console.log(saludo); 
} 
saludar(f);
makeitreal .camp Parámetro de otra función 
for (var i=0; i < arr.length; i++) { 
console.log(arr[i]); 
} 
! 
function each(arr, action) { 
for (var i=0; i < arr.length; i++) 
action(arr[i]); 
}
makeitreal .camp Parámetro de otra función 
each([1, 2, 3], function(elem) { 
console.log(elem); 
}); 
! 
var sum = 0; 
each([1, 2, 3], function(elem) { 
sum += elem; 
});
makeitreal .camp Parámetro de otra función 
var arr = [1, 2, 3]; 
var arr2 = []; 
! 
for (var i=0; i < arr.length; i++) { 
arr2.push(arr[i] * 2); 
}
makeitreal .camp Parámetro de otra función 
function map(arr, action) { 
var arr2 = []; 
for (var i=0; i < arr.length; i++) { 
arr2.push(action(arr[i])); 
} 
return arr2; 
}
makeitreal .camp Parámetro de otra función 
var a = map([1, 2, 3], function(elem) { 
return elem * 2; 
}); 
! 
var b = map([1, 2, 3], Math.sqrt); 
! 
map([‘1’, ‘2’], Integer.parseInt);
makeitreal .camp Retornar una función 
function createBeeper() { 
return function() { 
alert(“beep”); 
}; 
} 
! 
var beeper = createBeeper(); 
beeper();
makeitreal .camp Retornar una función 
function counter() { 
var count = 0; 
return function() { 
console.log(count++); 
} 
}
makeitreal .camp Retornar una función 
var count = counter(); 
! 
count(); 
count(); 
count();
makeitreal .camp Las funciones son objetos! 
function prueba() {} 
! 
prueba.nombre = “German”;
makeitreal .camp Cuidado con el this! 
var obj = { 
name: “German”, 
sayHello: function() { 
return “Hola ” + this.name; 
} 
}; 
! 
var hola = obj.sayHello; 
hola();

JS Functions

  • 1.
    makeit.rceamapl Hablemos deFunciones Germán Escobar germanescobar.net! @germanescobar! !
  • 2.
    makeitreal .camp Funciones Función Parámetros Valor de retorno
  • 3.
    makeitreal .camp Funciones En JavaScript, las funciones están en todos lados. ! A veces son truculentas.
  • 4.
    makeitreal .camp Asignara Variables var saludar = function() { console.log(“Hola”); };
  • 5.
    makeitreal .camp Parámetrode otra función function saludar(func) { func(“Hola”); } ! saludar(function(saludo) { console.log(saludo); });
  • 6.
    makeitreal .camp Parámetrode otra función function saludar(func) { func(“Hola”); } ! var f = function(saludo) { console.log(saludo); } saludar(f);
  • 7.
    makeitreal .camp Parámetrode otra función for (var i=0; i < arr.length; i++) { console.log(arr[i]); } ! function each(arr, action) { for (var i=0; i < arr.length; i++) action(arr[i]); }
  • 8.
    makeitreal .camp Parámetrode otra función each([1, 2, 3], function(elem) { console.log(elem); }); ! var sum = 0; each([1, 2, 3], function(elem) { sum += elem; });
  • 9.
    makeitreal .camp Parámetrode otra función var arr = [1, 2, 3]; var arr2 = []; ! for (var i=0; i < arr.length; i++) { arr2.push(arr[i] * 2); }
  • 10.
    makeitreal .camp Parámetrode otra función function map(arr, action) { var arr2 = []; for (var i=0; i < arr.length; i++) { arr2.push(action(arr[i])); } return arr2; }
  • 11.
    makeitreal .camp Parámetrode otra función var a = map([1, 2, 3], function(elem) { return elem * 2; }); ! var b = map([1, 2, 3], Math.sqrt); ! map([‘1’, ‘2’], Integer.parseInt);
  • 12.
    makeitreal .camp Retornaruna función function createBeeper() { return function() { alert(“beep”); }; } ! var beeper = createBeeper(); beeper();
  • 13.
    makeitreal .camp Retornaruna función function counter() { var count = 0; return function() { console.log(count++); } }
  • 14.
    makeitreal .camp Retornaruna función var count = counter(); ! count(); count(); count();
  • 15.
    makeitreal .camp Lasfunciones son objetos! function prueba() {} ! prueba.nombre = “German”;
  • 16.
    makeitreal .camp Cuidadocon el this! var obj = { name: “German”, sayHello: function() { return “Hola ” + this.name; } }; ! var hola = obj.sayHello; hola();