Adjunto primer ejercicio CU01150E del tutorial JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function Persona(nombre,nacionalidad){
this.nombre = nombre || 'desconocido';
this.nacionalidad = nacionalidad || 'desconocido';
}
Persona.prototype.mostrarNacionalidad = function (){
alert ('La nacionalidad de '+this.nombre+' es '+this.nacionalidad);
}
function Medico(nombre,nacionalidad,centro){
Persona.call(this,nombre,nacionalidad);
this.centro = centro || 'desconocido';
}
function Medicoespecialista(especialidad,centro,nombre,nacionalidad){
Medico.call(this,nombre,nacionalidad,centro);
this.especialidad = especialidad || 'desconocida';
}
Medico.prototype = new Persona();
Medicoespecialista.prototype=new Medico();
function crearObjeto(){
var especialista1 = new Medicoespecialista('traumatologo','Valencia','Paco','Español');
especialista1.mostrarNacionalidad();
var msg = 'La informacion del medico especialista es:\n';
msg = msg + 'Su nombre es '+especialista1.nombre+' con nacionalidad '+especialista1.nacionalidad;
msg = msg + ', su centro de trabajo es en '+especialista1.centro;
msg = msg +'y su especialidad es la de '+especialista1.especialidad;
alert(msg);
}
</script>
</head>
<body>
<button onclick="crearObjeto()">Medico</button>
</body>
</html>
Y el segundo ejercicio:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function persona(nombre){
this.nombre = nombre || 'desconocido';
this.saludar = function(mastexto){
alert ('Te saluda ' +this.nombre+ ' que trabaja en '+this.institucionAcademica+mastexto);
}
}
persona.prototype.definicion = 'Una persona es un ser vivo que tiene conocimiento';
function profesor(institucionAcademica,nombre){
persona.call(this,nombre);
this.institucionAcademica = institucionAcademica || 'desconocida';
}
function profesorInterino(mesesContrato,institucionAcademica,nombre){
profesor.call(this,institucionAcademica,nombre);
this.mesesContrato = mesesContrato || 0;
}
function profesorTitular(anyosTrabajados,institucionAcademica,nombre){
profesor.call(this,institucionAcademica,nombre);
this.anyosTrabajados = anyosTrabajados || 0;
}
profesor.prototype = new persona();
profesorInterino.prototype = new profesor();
profesorTitular.prototype = new profesor();
function crearObjeto(){
profesorTitular1 = new profesorTitular(8,'Universidad de Leon','Juan');
alert(profesorTitular1.definicion);
profesorTitular1.saludar(' y lleva '+profesorTitular1.anyosTrabajados+' anyos trabajados');
}
</script>
</head>
<body>
<button onclick="crearObjeto()">Profesor Titular</button>
</body>
</html>