Hola Pedro
Para el punto a) hay una respuesta aclaratoria en
www.aprenderaprogramar.com/foros/index.php?topic=3167 creo que ahí queda explicado este punto
Para b) con la definición del objeto operaciones que has dado no acabo de ver que sea instanciable, parece que usaras lo que en el curso se indica como definición y creación simultánea de un objeto e indica "con esta sintaxis no se pueden crear objetos adicionales del tipo definido" (no se puede instanciar).
He modificado el código para que quede instanciable:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style>
#pulsador {padding:15px; width: auto; display: inline-block; margin: 25px; cursor: pointer; color: yellow; border-radius: 40px; background: purple;}
</style>
<script type="text/javascript">
function plus(x, y){
return x + y;
}
function minus(x, y){
return x - y;
}
function multiplicacion(x, y){
return x * y;
}
function division(x, y){
return x / y;
}
function operaciones (x, y){
this.sumado=plus(x,y);
this.restado=minus(x,y);
this.multiplicado_por=multiplicacion(x,y);
this.dividido_por = division(x,y);
}
function calcular(x,y){
var objOperaciones = new operaciones(x, y);
for(nombrePropiedad in objOperaciones){
alert(x + ' ' + nombrePropiedad + ' ' + y + ' = ' + objOperaciones[nombrePropiedad]);
}
}
function operacionMatematica(){
var x = prompt('Introduce primer número: ');
var y = prompt('Introduce segundo número: ');
calcular(Number(x), Number(y));
var otrox = 6;
var otroy = 2;
calcular(otrox, otroy);
}
</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2></div>
<div id ="pulsador" onclick="operacionMatematica()"> Probar </div>
</body>
</html>
Saludos