Jika dua kaedah JS dengan nama yang sama dan parameter yang sama berada dalam segmen kod yang sama, kaedah yang terakhir dimuatkan akan menimpa yang sebelumnya Sebaliknya, jika kaedah yang sepadan boleh ditemui dalam kod semasa segmen, ia akan dipanggil serta-merta .
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Dalam JS, jika terdapat kaedah dengan nama yang sama dan parameter yang sama, yang manakah akan dipanggil dahulu? Mari kita lihat dua contoh dahulu:
Contoh 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>
Hasilnya akan muncul: 1 2
Contoh 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>
Hasilnya akan muncul: 2 2
Ini mempunyai banyak kaitan dengan segmen kod semasa Jika terdapat dua kaedah JS dengan nama dan parameter yang sama dalam segmen kod yang sama , kaedah yang terakhir dimuatkan akan Yang sebelumnya ditimpa Jika tidak, jika kaedah yang sepadan boleh ditemui dalam segmen kod semasa, ia akan dipanggil serta-merta.
Dalam JS, jika terdapat kaedah dengan nama yang sama dan parameter yang berbeza, yang manakah akan dipanggil dahulu? Mari lihat dua lagi contoh:
Contoh 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>
Contoh 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>
Keputusan ujian: Kaedah dengan nama yang sama tetapi berbeza parameter akan menggunakan yang terakhir Kaedah pemuatan akan menimpa yang sebelumnya!
[Pembelajaran yang disyorkan: Tutorial JavaScript Lanjutan]
Atas ialah kandungan terperinci Apakah yang akan berlaku jika kaedah dengan nama yang sama muncul dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!