SlideShare una empresa de Scribd logo
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();

Más contenido relacionado

Destacado

1 sdw-intro-prueba
1 sdw-intro-prueba1 sdw-intro-prueba
1 sdw-intro-prueba
Raul Ruggia
 
5 almacenes e inventarios nam
5 almacenes e inventarios nam5 almacenes e inventarios nam
5 almacenes e inventarios namNatalia Mosquera
 
Booklet TPS ZoN 2014
Booklet TPS ZoN 2014Booklet TPS ZoN 2014
Booklet TPS ZoN 2014
Luis Ricardo Angulo
 
Bilatam - BI for Beginners
Bilatam - BI for BeginnersBilatam - BI for Beginners
Bilatam - BI for Beginners
BILATAM
 
Mce Logistic & Refurbished PresentacióN V10 2003
Mce Logistic & Refurbished PresentacióN V10 2003Mce Logistic & Refurbished PresentacióN V10 2003
Mce Logistic & Refurbished PresentacióN V10 2003guest8952d1
 
Logistic aenvases
Logistic aenvasesLogistic aenvases
Logistic aenvases
Christian Ramos
 
Androstenedione
AndrostenedioneAndrostenedione
Androstenedione
oxanavaruse
 
Cadaver exquisito
Cadaver exquisitoCadaver exquisito
Cadaver exquisito
gestorandes
 
Gastamos más tiempo en hablar de los problemas que en afrontarlos
Gastamos más tiempo en hablar de los problemas que en afrontarlosGastamos más tiempo en hablar de los problemas que en afrontarlos
Gastamos más tiempo en hablar de los problemas que en afrontarlosAnabel Domínguez Pardo
 
The history of english
The history of englishThe history of english
The history of english
Enderbrine MC
 
Processos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentinaProcessos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentinaaulaprocessos
 
สมัครงาน
สมัครงานสมัครงาน
สมัครงาน
findgooodjob
 
Internet
InternetInternet
Internet
Ah Fawad Saiq
 

Destacado (17)

1 sdw-intro-prueba
1 sdw-intro-prueba1 sdw-intro-prueba
1 sdw-intro-prueba
 
Data warehousing
Data warehousingData warehousing
Data warehousing
 
5 almacenes e inventarios nam
5 almacenes e inventarios nam5 almacenes e inventarios nam
5 almacenes e inventarios nam
 
Booklet TPS ZoN 2014
Booklet TPS ZoN 2014Booklet TPS ZoN 2014
Booklet TPS ZoN 2014
 
Bilatam - BI for Beginners
Bilatam - BI for BeginnersBilatam - BI for Beginners
Bilatam - BI for Beginners
 
Ecoetiquetas
EcoetiquetasEcoetiquetas
Ecoetiquetas
 
Mce Logistic & Refurbished PresentacióN V10 2003
Mce Logistic & Refurbished PresentacióN V10 2003Mce Logistic & Refurbished PresentacióN V10 2003
Mce Logistic & Refurbished PresentacióN V10 2003
 
Logistic aenvases
Logistic aenvasesLogistic aenvases
Logistic aenvases
 
Androstenedione
AndrostenedioneAndrostenedione
Androstenedione
 
Cadaver exquisito
Cadaver exquisitoCadaver exquisito
Cadaver exquisito
 
Gastamos más tiempo en hablar de los problemas que en afrontarlos
Gastamos más tiempo en hablar de los problemas que en afrontarlosGastamos más tiempo en hablar de los problemas que en afrontarlos
Gastamos más tiempo en hablar de los problemas que en afrontarlos
 
The history of english
The history of englishThe history of english
The history of english
 
Processos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentinaProcessos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentina
 
Fellowships
FellowshipsFellowships
Fellowships
 
4
44
4
 
สมัครงาน
สมัครงานสมัครงาน
สมัครงาน
 
Internet
InternetInternet
Internet
 

Similar a JS Functions

ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
Paradigma Digital
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJS
Javier Abadía
 
Las funciones en JavaScript para la programación orientada a objetos
Las funciones en JavaScript para la programación orientada a objetosLas funciones en JavaScript para la programación orientada a objetos
Las funciones en JavaScript para la programación orientada a objetos
Francisco Javier Arce Anguiano
 
Javascript funcional
Javascript funcionalJavascript funcional
Javascript funcionalLeonardo Soto
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
Eliezer Cordova
 
Introducción a Javascript
Introducción a JavascriptIntroducción a Javascript
Introducción a JavascriptAbe Estrada
 
Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)
Rafael Bermúdez Míguez
 
Clase 5 funciones en javaScript
Clase 5 funciones en javaScriptClase 5 funciones en javaScript
Clase 5 funciones en javaScript
José Ricardo Tillero Giménez
 
JavaScript no es Vietnam
JavaScript no es VietnamJavaScript no es Vietnam
JavaScript no es Vietnam
Alex Casquete
 
Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0
Jorge Vásquez
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
Ronny Parra
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
Gustavo Salazar Loor
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
Ramiro Estigarribia Canese
 
Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
Luis Fernández
 

Similar a JS Functions (15)

ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJS
 
Las funciones en JavaScript para la programación orientada a objetos
Las funciones en JavaScript para la programación orientada a objetosLas funciones en JavaScript para la programación orientada a objetos
Las funciones en JavaScript para la programación orientada a objetos
 
Javascript funcional
Javascript funcionalJavascript funcional
Javascript funcional
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
Introducción a Javascript
Introducción a JavascriptIntroducción a Javascript
Introducción a Javascript
 
Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)
 
Clase 5 funciones en javaScript
Clase 5 funciones en javaScriptClase 5 funciones en javaScript
Clase 5 funciones en javaScript
 
Pf con scala
Pf con scalaPf con scala
Pf con scala
 
JavaScript no es Vietnam
JavaScript no es VietnamJavaScript no es Vietnam
JavaScript no es Vietnam
 
Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0Programación Funcional 101 con Scala y ZIO 2.0
Programación Funcional 101 con Scala y ZIO 2.0
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
 

JS Functions

  • 1. makeit.rceamapl Hablemos de Funciones 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 Asignar a Variables var saludar = function() { console.log(“Hola”); };
  • 5. makeitreal .camp Parámetro de otra función function saludar(func) { func(“Hola”); } ! saludar(function(saludo) { console.log(saludo); });
  • 6. makeitreal .camp Parámetro de otra función function saludar(func) { func(“Hola”); } ! var f = function(saludo) { console.log(saludo); } saludar(f);
  • 7. 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]); }
  • 8. 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; });
  • 9. 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); }
  • 10. 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; }
  • 11. 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);
  • 12. makeitreal .camp Retornar una función function createBeeper() { return function() { alert(“beep”); }; } ! var beeper = createBeeper(); beeper();
  • 13. makeitreal .camp Retornar una función function counter() { var count = 0; return function() { console.log(count++); } }
  • 14. makeitreal .camp Retornar una función var count = counter(); ! count(); count(); count();
  • 15. makeitreal .camp Las funciones son objetos! function prueba() {} ! prueba.nombre = “German”;
  • 16. makeitreal .camp Cuidado con el this! var obj = { name: “German”, sayHello: function() { return “Hola ” + this.name; } }; ! var hola = obj.sayHello; hola();