Para crear objetos, primero es necesario definir su tipo (o clase):
function empleado(nombre, edad, puesto) {
this.nombre = nombre
this.edad = edad
this.puesto = puesto
}
En JavaScript, la partícula this se refiere al objeto en el que se utiliza. Una vez definida la clase, podemos crear variables (instanciar objetos) de esa clase de la siguiente manera:
empleado_1 = new empleado("Pedro", 26, "Programador")
Pueden añadirse propiedades a los objetos aunque estas no haya sido declaradas en la definición de la clase. Por ejemplo:
empleado_1.jefe = "Luis"
Estas propiedades nuevas sólo afectaran a ese objeto y no al resto.
Los objetos pueden anidarse de forma que un objeto sea un a propiedad de otro objeto. Por ejemplo:
function oficina(ciudad, pais) {
this.ciudad = ciudad
this.pais = pais
}
oficinaPedro = new oficina("Madrid","España")
empleado_1 = new empleado("Pedro", 26, "Programador", oficinaPedro)
En el ejemplo anterior, hay que definir la clase empleado de esta forma:
function empleado(nombre, edad, puesto, oficina)
this.nombre = nombre
this.edad = edad
this.puesto = puesto
this.oficina = oficina
}
Dentro de la definición de la clase o tipo del objeto, pueden incluirse funciones que accedan a sus propiedades. Estas funciones reciben el nombre de métodos. Un método se define de la siguiente manera:
function mostrarPerfil() {
document.write("Nombre: " + this.nombre + "<BR>")
document.write("Edad: " + this.edad + "<BR>")
document.write("Puesto: " + this.puesto + "<BR>")
}
function empleado(nombre, edad, puesto) {
this.nombre = nombre
this.edad = edad
this.puesto = puesto
this.mostrarPerfil = mostrarPerfil
}
Usuarios que han visto este tema también han visto...
- Confirmar acción con JavaScript
- Validar formularios en JavaScript
- Precarga de imagenes en Javascript
- Efecto de transición FadeIn en imágenes con JavaScript
- Cómo comunicar Flash y JavaScript en ActionScript 3
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.