Recientemente estoy leyendo el libro SICP javascript. ( https://sourceacademy.org/sicpjs/1.1.4 )
Y en este libro (capítulo 1.1.4) tengo una pregunta sobre cómo funciona la función.
expresión-función(expresiones-argumento)
p.ej. cuadrado(2 + 5);
Para evaluar la aplicación de una función, el intérprete sigue un procedimiento bastante similar al procedimiento para combinaciones de operadores descrito en la sección 1.1.3.
Para evaluar una aplicación de función, haga lo siguiente:
- Evalúe las subexpresiones de la aplicación, es decir, la expresión de función y las expresiones de argumento.
- Aplique la función que es el valor de la expresión de función a los valores de las expresiones de argumento.
Donde tengo una pregunta es la número 2.
Antes de leer este libro, cuando uso la función, solo pensé en pasar los argumentos a la función.
Así que tengo una confusión entre Apply function to arguments o Apply arguments to function
Este libro decía Apply function to arguments .
¿Puedo obtener una respuesta de por qué eso es correcto y la diferencia entre ellos?
No hay diferencia. Una aplicación aplica dos cosas juntas. Es solo lenguaje matemático o peculiaridades del inglés. Ambas frases simplemente significan que se está realizando una llamada de función.
Pero también, el libro está siendo más preciso de lo que estabas pensando. En lugar de simplemente decir "argumentos", habla de los "valores de los argumentos". Porque, en f(x,y) , o igualmente (fxy) , ¿cómo se llama la función? Después de todo, f o x son solo nombres de variables.
Así dice el libro, como función se usa el valor de la variable f , que se llama con el valor de la variable x , y de y , como valores argumentales.
Porque hay otras disciplinas de llamada, por ejemplo, en "llamada por nombre", las variables mismas se pasan como argumentos. Pero Esquema (como se usa originalmente en el libro) es "llamada por valor".