Maison > Article > interface Web > Que se passera-t-il si une méthode du même nom apparaît en JavaScript ?
Si deux méthodes JS portant le même nom et les mêmes paramètres sont dans le même segment de code, la dernière méthode chargée écrasera la précédente. Au contraire, si la méthode correspondante se trouve dans le segment de code actuel, elle le sera. être appelé immédiatement.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
En JS, s'il existe une méthode avec le même nom et les mêmes paramètres, laquelle appellera-t-elle en premier ? Regardons d'abord deux exemples :
Exemple 1 :
<html> <head> <title></title> <script type="text/javascript"> function btnTest() { $f1(); $f2(); } function A() { alert(1); } var $f1 = A; </script> <script type="text/javascript"> function A() { alert(2); } var $f2 = A; </script> </head> <body> <form> <div> <input type="button" name="Testing" οnclick="btnTest();" value="TEST" /> </div> </form> </body> </html>
Le résultat apparaîtra : 1 2
Exemple 2 :
<html> <head> <title></title> <script type="text/javascript"> function btnTest() { $f1(); $f2(); } function A() { alert(1); } var $f1 = A; function A() { alert(2); } var $f2 = A; </script> </head> <body> <form> <div> <input type="button" name="Testing" onclick="btnTest();" value="TEST" /> </div> </form> </body> </html>
Le résultat apparaîtra : 2 2
Cela a beaucoup à voir avec le segment de code actuel. Si dans le même segment de code de deux méthodes JS avec le même nom et les mêmes paramètres, la dernière méthode chargée écrasera la précédente. Au contraire, si la méthode correspondante peut être trouvée dans le segment de code actuel, elle. sera appelé immédiatement.
En JS, s'il existe des méthodes avec le même nom et des paramètres différents, laquelle appellera-t-elle en premier ? Regardons deux autres exemples :
Exemple 1 :
<html> <head> <title></title> <script type="text/javascript"> function btnTest() { var val = document.getElementById("txtVal").value; if (val > 10) { A(); } else { A(val); } } function A() { alert(1); } function A(val) { alert(2); alert(val); } </script> </head> <body> <form> <div> Input Value(INT):<input type="text" id="txtVal"/><br> <input type="button" name="Testing" onclick="btnTest();" value="TEST" /> </div> </form> </body> </html>
Exemple 2 :
<html> <head> <title></title> <script type="text/javascript"> function btnTest() { var val = document.getElementById("txtVal").value; if (val > 10) { A(); } else { A(val); } } function A() { alert(1); } </script> <script type="text/javascript"> function A(val) { alert(2); alert(val); } </script> </head> <body> <form> <div> Input Value(INT):<input type="text" id="txtVal"/><br> <input type="button" name="Testing" onclick="btnTest();" value="TEST" /> </div> </form> </body> </html>
Résultats des tests : les méthodes portant le même nom et des paramètres différents utiliseront la dernière méthode chargée pour écraser la précédente !
【Apprentissage recommandé : Tutoriel avancé javascript】
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!