ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript に同じ名前のメソッドが現れたらどうなるでしょうか?

JavaScript に同じ名前のメソッドが現れたらどうなるでしょうか?

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-07-21 14:39:072596ブラウズ

同じ名前と同じパラメータを持つ 2 つの JS メソッドが同じコード セグメント内にある場合、最後にロードされたメソッドが以前のメソッドを上書きします。逆に、対応するメソッドが現在のコード内で見つかる場合は、セグメントの場合、すぐに呼び出されます。

JavaScript に同じ名前のメソッドが現れたらどうなるでしょうか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JS で、同じ名前と同じパラメータを持つメソッドがあった場合、どちらが最初に呼び出されますか?まず 2 つの例を見てみましょう:

例 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>

結果がポップアップ表示されます: 1 2

例 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>

結果が表示されます: 2 2

これは現在のコード セグメントと大きく関係しています。同じコード セグメント内に同じ名前とパラメーターを持つ 2 つの JS メソッドがある場合、最後にロードされたメソッドがメソッドは前のメソッドを上書きします。逆に、対応するメソッドが現在のコード セグメントで見つかった場合は、そのメソッドがすぐに呼び出されます。

JS で、同じ名前でパラメータが異なるメソッドがある場合、どれが最初に呼び出されますか?さらに 2 つの例を見てみましょう:

例 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>

例 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>

テスト結果: 同じ名前で異なるパラメーターを持つメソッドは、最後にロードされたメソッドです。前のメソッドを上書きしてください。

[推奨学習: JavaScript 上級チュートリアル]

以上がJavaScript に同じ名前のメソッドが現れたらどうなるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。