Skip to content

Instantly share code, notes, and snippets.

@enrique7mc
Created December 6, 2015 21:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enrique7mc/0b99942171a266ce0cc0 to your computer and use it in GitHub Desktop.
Save enrique7mc/0b99942171a266ce0cc0 to your computer and use it in GitHub Desktop.
// Función normal
function saludo(nombre) {
return "Hola " + nombre;
}
console.log(saludo("Jane"));
// Método
var persona = {
nombre: "John",
saludar: function() {
return "Hola, mi nombre es " + this.nombre;
}
};
console.log(persona.saludar());
// Asignar método de un objeto a otro objeto
var persona2 = {
nombre: "Steve",
saludar: persona.saludar // método de otro objeto
};
console.log(persona2.saludar());
persona.saludar();
persona2.saludar();
//obj.saludar();
// Función que hace referencia a this
function mostrarId() {
console.log("Id: " + this.id);
}
// Asigna la función a un objeto
var producto = {
id: 10,
mostrar: mostrarId
};
var producto2 = {
id: 33,
mostrar: mostrarId
};
producto.mostrar(); // Id: 10
producto2.mostrar(); // Id: 33
mostrarId(); // Id: undefined
// Modo estricto para prevenir usos incorrectos
function foo() {
"use strict";
console.log(this.bar);
}
// foo(); // error al ejecutarse
// Función como constructor
function Empleado(nombre, sueldo) {
this.nombre = nombre;
this.sueldo = sueldo;
this.mostrar = function() {
console.log("Nombre: " + nombre + ", sueldo: " + sueldo);
};
}
var e = new Empleado("John", 10000);
e.mostrar();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment