Heim > Artikel > Web-Frontend > Was passiert, wenn eine Methode mit demselben Namen in JavaScript erscheint?
Wenn sich zwei JS-Methoden mit demselben Namen und denselben Parametern im selben Codesegment befinden, überschreibt die zuletzt geladene Methode die vorherige. Wenn die entsprechende Methode jedoch im aktuellen Codesegment gefunden werden kann, wird dies der Fall sein sofort angerufen werden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Wenn es in JS eine Methode mit demselben Namen und denselben Parametern gibt, welche wird dann zuerst aufgerufen? Schauen wir uns zunächst zwei Beispiele an:
Beispiel 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>
Das Ergebnis wird angezeigt: 1 2
Beispiel 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>
Das Ergebnis wird angezeigt: 2 2
Das hat viel damit zu tun Wenn sich im selben Codesegment zwei JS-Methoden mit demselben Namen und denselben Parametern befinden, überschreibt die zuletzt geladene Methode die vorherige. Im Gegenteil, wenn die entsprechende Methode im aktuellen Codesegment gefunden werden kann wird sofort angerufen.
Wenn es in JS Methoden mit demselben Namen und unterschiedlichen Parametern gibt, welche wird dann zuerst aufgerufen? Schauen wir uns zwei weitere Beispiele an:
Beispiel 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>
Beispiel 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>
Testergebnisse: Methoden mit demselben Namen und unterschiedlichen Parametern verwenden die zuletzt geladene Methode, um die vorherige zu überschreiben!
【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene】
Das obige ist der detaillierte Inhalt vonWas passiert, wenn eine Methode mit demselben Namen in JavaScript erscheint?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!