Je crois que chaque étudiant nouveau en JavaScript sera très confus quant au passage du paramètre de fonction. La raison en est que sa syntaxe est trop bizarre. Vous définissez une fonction.
Par exemple
Test de fonction (nom, msg) {return 'hello' + name + msg;}Alors, comment l'appelez-vous lors de l'appel? Vous pouvez tester («eric»), tester («eric», «bienvenue sur javascript») ou même le passer autant de paramètres que vous le souhaitez, et les types sont arbitraires. Quelle belle chose c'est. Les étudiants qui ont étudié C ++ / C # ou Java peuvent penser à la surcharge de fonction. Cependant, ce que je veux vous dire, c'est qu'il n'y a pas de surcharge de fonction dans JavaScript. Si vous définissez deux fonctions avec le même nom, la fonction définie d'abord sera écrasée par la définition ultérieure, ce qui signifie que le résultat que vous souhaitez ne peut être obtenu que à partir de la fonction définie ultérieure.
D'accord, revenons au point. Pourquoi la fonction JavaScript peut-elle passer avec désinvolture? Voyons d'abord où sont stockés tous les paramètres passés. En fait, dans son implémentation interne, tous les paramètres passés sont présents dans un tableau. La fonction reçoit toujours ce tableau et ne se soucie pas des paramètres du tableau. Maintenant, c'est facile à comprendre. Nous avons défini une fonction. Lors de l'appel, les paramètres peuvent être passés à volonté. Il sera ajouté au tableau autant que vous passez. Si vous ne le dépassez pas, tous vos paramètres formels sont «indéfinis». Il n'y aura pas d'erreurs de syntaxe, mais il est difficile de dire en termes de sémantique.
Ok, c'est la première fois que je rédrée un blog. Je ne suis pas talentueux, donc je me moque de toi. J'espère que ce billet de blog peut vous aider un peu. . . .
Je t'aime, les gars!