necesidad:
divertido A() { asyn(parm1, parm2, éxito(){ }) ;}
diversión B() {asyn(paem1, parm2, éxito(){}) ;}
La función B requiere ejecución después de la función A
Ejecución asincrónica
Si se usa directamente
A();
B();
No se pueden cumplir las condiciones de ejecución.
Considere pasar B como una función de devolución de llamada a A, y luego A ejecuta la función B con éxito.
A(B);
Se pueden cumplir los requisitos funcionales.
js es de un solo subproceso.
1. Al llamar a una función, si hay más parámetros que el número de definiciones, los parámetros adicionales se ignorarán. Si hay menos que el número de parámetros, a los parámetros faltantes se les asignará automáticamente un valor indefinido.
2. Si la definición de función se declara utilizando la declaración de función, no puede aparecer en un bucle o declaración condicional, pero si la definición de función se declara utilizando el método literal de función, puede aparecer en cualquier expresión js.
3. objeto de argumentos
El objeto de argumentos de una función es como una matriz, que almacena los parámetros reales cuando se llama a la función. Puede usar argumentos [0], argumentos [1], argumentos [2]... para hacer referencia a estos parámetros, incluso si son. Los parámetros son al definir la función No. Pero los argumentos no son objetos de matriz reales.
función a(x,y){
argumentos[0] //Indica el primer parámetro x
argumentos[1] //Indica el primer parámetro y
argumentos[2] //Indica el tercer parámetro, siempre que se pasen tres parámetros al llamar a la función
…
arguments.length //Indica el número real de parámetros pasados
argumentos.callee(x,y) //llamarse a sí mismo}
El objeto de argumentos tiene un atributo de longitud, que representa el número de parámetros realmente pasados cuando se llama a la función.
El objeto de argumentos también tiene un atributo de destinatario, que se utiliza para hacer referencia a la función que se está ejecutando actualmente. Esto es especialmente útil en funciones anónimas.
4. El atributo de longitud de la función (sí, la función también tiene el atributo de longitud)
A diferencia de argumentos.length, el atributo de longitud de una función representa el número de parámetros formales cuando se define la función, no el número real de parámetros cuando se llama a la función. Puede utilizar arguments.callee.length para llamar a la propiedad de longitud de una función.