ホームページ > 記事 > ウェブフロントエンド > JavaScript に同じ名前のメソッドが現れたらどうなるでしょうか?
同じ名前と同じパラメータを持つ 2 つの JS メソッドが同じコード セグメント内にある場合、最後にロードされたメソッドが以前のメソッドを上書きします。逆に、対応するメソッドが現在のコード内で見つかる場合は、セグメントの場合、すぐに呼び出されます。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。