Funciones nativas
Hay miles de funciones nativas en JavaScript. Por lo general a esto se le llama librería. Pero JavaScript no tiene una librería como tal, estas funciones nativas están en el core.
parseInt();
alert();
prompt();
Lo anterior son ejemplos de funciones nativas
Diferencia entre métodos y funciones
Se podría decir que son lo mismo, ejecutan cosas, pero los métodos tienen el nombre de la variable seguido de un punto y el método …o la función.
parseInt(nomVar1); //Esto es una función
nomVar2.toString(); //Esto es un método
Parámetros y argumentos
function saludar(nombre, apellido) { // nombre y apellido son parámetros.
console.log( `Hola ${nombre} ${apellido} ` );
}
saludar('Juan', 'De la torre'); // Pablo y De la torre son argumentos, son los valores reales.
saludar();
Valores por default
Abajo los valores por default están indicados para ambos parámetros.
function saludar(nombre = 'Desconocido', apellido = '') {
console.log( `Hola ${nombre} ${apellido} ` );
}
saludar('Brigzen', 'Coronado'); // Arrojará: Hola Brigzen Coronado
saludar('Juan'); // Arrojará: Hola Brigzen
saludar(); // Arrojará: Hola Desconocido
Comunicación entre funciones
Para que finalmente nuestro código sea un script es necesario que una función arranque el sistema pero que luego no sea necesario generar algún evento para que otras funciones arranquen. Para ello las funciones se encadenan, es decir, una función se ejecuta y dentro de su mismo código manda a llamar a otra función.
iniciarApp();
function iniciarApp() {
console.log('Iniciando App...');
segundaFuncion();
}
function segundaFuncion() {
console.log('Desde la segunda función...')
usuarioAutenticado('Pablo');
}
function usuarioAutenticado(usuario) {
console.log('Autenticando usuario...');
console.log(`Usuario autenticado con éxito ${usuario} `)
}
Return y llamar la función
Algo que este instructor no ha explicado bien es que tengo que tomar en cuenta que cuando la función retorne un valor, yo debo asignar ese valor a una variable. Por lo tanto, en muchos casos, voy a llamar una función del modo:
nomVar = nomFunc(argumento);
Esto es así porque tengo que hacer algo con el valor que la función va a retornar.
Return y encadenamiento de funciones
Un ejemplo de los dos puntos anteriores
let total = 0;
function agregarCarrito(precio) {
return total += precio;
}
function calcularImpuesto(total) {
return 1.15 * total;
}
total = agregarCarrito(200);
total = agregarCarrito(300);
total = agregarCarrito(400);
console.log(total);
const totalPagar = calcularImpuesto(total);
console.log(`El total a pagar es de ${totalPagar}`);
Se observa en la consola así:

Aunque no veo del todo que se pasen valores
Métodos de propiedad, funciones en objetos
Tal como se observa
const reproductor = {
reproducir: function(id) {
console.log(`Reproduciendo canción id ${id}`);
},
pausar: function() {
console.log('pausando...');
},
borrar: function(id) {
console.log(`Borrando canción con id: ${id}`)
},
crearPlaylist: function(nombre) {
console.log(`Creando la Playlist ${nombre}`);
},
reproducirPlaylist: function(nombre) {
console.log(`Reproduciendo la Playlist ${nombre}`)
}
}
reproductor.reproducir(30);
reproductor.pausar();
// Tambien los métodos pueden quedarse por fuera
// reproductor.borrar = function(id) {
// }
reproductor.borrar(20);
reproductor.crearPlaylist('Heavy Metal');
reproductor.reproducirPlaylist('Heavy Metal');
Es un objeto que tiene como propiedades un conjunto de funciones. A estas funciones podemos podemos llamarlas por medio de la sintaxis del punto como se se en el ejemplo de arriba.
De hecho también se podría crear una función más en el objeto dado en el desarrollo del código tal como:
reproductor.nuevaFuncion = function() {
}