Maison > Article > interface Web > Compréhension approfondie des paramètres de fonction et des problèmes lors de la déclaration de variables ou de fonctions portant le même nom dans une fonction
J'ai été libre récemment et j'ai accumulé quelques connaissances sur JavaScript. Par exemple, dans certaines questions d'entretien, les paramètres formels de la fonction et les variables ou fonctions déclarées à l'intérieur de la fonction ont le même nom. Pour ceux qui veulent savoir, continuez à lire.
function ab(x){ console.log(x); var x; console.log(x); }; ab(3);
Ce résultat se produit, mais lorsqu'une valeur est attribuée à la variable déclarée dans la fonction, le paramètre transmis sera remplacé.
function ab(x){ console.log(x); var x = 4; console.log(x); }; ab(3);
Le résultat de sortie est : .
Lorsque la fonction déclarée dans la fonction a le même nom que le paramètre formel :
function ab(x){ console.log(x); function x(){ console.log("我是函数") }; console.log(x); }; ab(3);
La sortie le résultat est :
Pourquoi cela se produit-il ? L'une des fonctionnalités de JS est le levage de la déclaration de fonction. Cela s'applique également aux fonctions déclarées dans la fonction. body will est promu à la première ligne de la fonction, donc lorsque ab est appelé, x n'est pas 3 dès qu'il est passé.
Mais la manière d'attribuer des fonctions anonymes à des variables n'a pas la fonctionnalité de promotion de la déclaration de fonction, elle est donc ajoutée après la déclaration. Changera x, comme indiqué ci-dessous :
Je suis là pour vous donner quelques conseils, n'hésitez pas à me signaler s'il y a quelque chose. trompeur ^^.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!