Creo que cada estudiante que es nuevo en JavaScript estará muy confundido sobre el paso de los parámetros de la función. La razón es que su sintaxis es demasiado extraña. Defines una función.
Por ejemplo
Test de funciones (nombre, msg) {return 'hello' + name + msg;}Entonces, ¿cómo lo llamas al llamar? Puede probar ('Eric'), probar ('Eric', 'Bienvenido a JavaScript') o incluso pasarlo tantos parámetros como desee, y los tipos son arbitrarios. Qué gran cosa es esta. Los estudiantes que han estudiado C ++/C# o Java pueden pensar en la sobrecarga de funciones. Sin embargo, lo que quiero decirle es que no hay una sobrecarga de funciones en JavaScript. Si define dos funciones con el mismo nombre, la función definida primero se sobrescribirá por la definición posterior, lo que significa que el resultado que desea solo se puede obtener de la función definida posterior.
Bien, volvamos al grano. ¿Por qué JavaScript puede pasar de manera tan casual? Primero veamos dónde se almacenan todos los parámetros pasados. De hecho, en su implementación interna, todos los parámetros aprobados están presentes en una matriz. La función siempre recibe esta matriz y no le importa qué parámetros contiene la matriz. Ahora es fácil de entender. Hemos definido una función. Al llamar, los parámetros se pueden pasar a voluntad. Se agregará a la matriz tanto como pase. Si no lo pasa, entonces todos sus parámetros formales están 'indefinidos'. No habrá errores de sintaxis, pero es difícil de decir en términos de semántica.
Ok, esta es la primera vez que escribo un blog. No tengo talento, así que me estoy riendo de ti. Espero que esta publicación de blog pueda ayudarte un poco. . . .
¡Los amo, chicos!