Maison  >  Article  >  interface Web  >  Que se passera-t-il si une méthode du même nom apparaît en JavaScript ?

Que se passera-t-il si une méthode du même nom apparaît en JavaScript ?

醉折花枝作酒筹
醉折花枝作酒筹original
2021-07-21 14:39:072584parcourir

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.

Que se passera-t-il si une méthode du même nom apparaît en JavaScript ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn