tienes que recordar que el programa corre con un "cursor" secuencial, así que lo primero que verá será la linea 1 y verá
así que intentará resolver
con lo que sabe, en este punto conoce algunos objetos (document, window, entre otros) pero ninguno x, a, b, m
esto no es un callback, un callback es cuando se pasa una función como parametro a otra, esperando que la otra la llame cuando la necesite
ejemplo
esto el interprete lo convertirá en
observa que "otro" se pasa sin los parentesis cuando se pasa como callback, ya que se está pasando como variable, si pusieras
el interprete intentaría ejecutar primero que nada otro para obtener su respuesta y ese valor pasarlo a suma_de_cuadrados
esto es parte de la respuesta a tu pregunta si las variables pueden almacenar funciones
lo que dices no tiene pie ni cabeza, lo que quieres es que la función antes de evaluar, evalue que debe evaluar para ejecutarlo y luego evaluarlo por primera vez
Código (javascript) [Seleccionar]
if(x(a,b,m)){
así que intentará resolver
Código (javascript) [Seleccionar]
x(a,b,m)
con lo que sabe, en este punto conoce algunos objetos (document, window, entre otros) pero ninguno x, a, b, m
esto no es un callback, un callback es cuando se pasa una función como parametro a otra, esperando que la otra la llame cuando la necesite
ejemplo
Código (javascript) [Seleccionar]
function suma_de_cuadrados(funcion_callback){
var cuadrado_a, cuadrado_b;
cuadrado_a = funcion_callback(4);
cuadrado_b = funcion_callback(9);
return cuadrado_a+cuadrado_b
}
function otro(parametro){
return parametro*parametro
}
console.log(suma_de_cuadrados(otro));
esto el interprete lo convertirá en
Código (javascript) [Seleccionar]
function suma_de_cuadrados(){
var cuadrado_a, cuadrado_b;
cuadrado_a = otro(4);
cuadrado_b = otro(9);
return cuadrado_a+cuadrado_b
}
function otro(parametro){
return parametro*parametro
}
console.log(suma_de_cuadrados());
observa que "otro" se pasa sin los parentesis cuando se pasa como callback, ya que se está pasando como variable, si pusieras
Código (javascript) [Seleccionar]
console.log(suma_de_cuadrados(otro()));
el interprete intentaría ejecutar primero que nada otro para obtener su respuesta y ese valor pasarlo a suma_de_cuadrados
esto es parte de la respuesta a tu pregunta si las variables pueden almacenar funciones
Cita de: Mago Diesan en 9 Marzo 2017, 05:28 AM
Lo que quiero es que según el callback de la función se ejecute. Si el callback es x(a,b,s) se ejecute la función esa y si es x(a,b,m) se ejecute esa función... a y b son los número y m,s es el valor de la operación que se va a retornar dependiendo el parámetro que se elija.
lo que dices no tiene pie ni cabeza, lo que quieres es que la función antes de evaluar, evalue que debe evaluar para ejecutarlo y luego evaluarlo por primera vez