Buenas Pedro
a) Bien
b) Bien además podríamos decir que se espera que devuelva un valor numérico
c) Bien (al no existir this actúa el this por defecto, es decir, el objeto window)
d) En este caso la copia (referencia) a la función conversor lleva ligados unos parámetros con un fin específico, ese fin es que la función devuelva el resultado de convertir un valor en millas (miles) a kilómetros (km), por tanto su tarea es convertir millas a kilómetros. La función milesToKm no crea una copia, mejor diríamos que es una referencia parametrizada a la funnción conversor. La fórmula con que trabaja la función milesToKm es valorRecibido*1.60936 con redondeo a dos decimales.
e) Se responde como he indicado para la d pero viendo lo que hay que aplicar en este caso
f) Bien
g) Bien
h) Bien
i) Bien
j) Bien
k) Bien, por ejemplo la fórmula para convertir grados centígrados a farenheit no es una simple multiplicación. La fórmula es gradosCent = (gradosFarenh - 32) * (5/9)
l) Bien para quien quiera probar el código que guarde esto como ejemplo.html y lo vea en el navegador
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function conversor(toUnit, factor, offset, fromUnit, input) {
offset = offset || 0;
return [input, fromUnit, 'son', ((offset+input)*factor).toFixed(2), toUnit].join(" ");
}
var milesToKm = conversor.bind(undefined, 'km', 1.60936, 0, 'millas');
var poundsToKg = conversor.bind(undefined, 'kg', 0.45460, 0, 'libras');
var farenheitToCelsius = conversor.bind(undefined, 'gradosC',0.5556, -32, 'gradosF');
alert(milesToKm(10));
alert(poundsToKg(2.5));
alert(farenheitToCelsius(98));
</script>
</head>
<body>
Prueba del código
</body>
</html>
Salu2