Perkenalan
JavaScript adalah bahasa yang ditafsirkan, dan eksekusi adalah top-down. Namun, setiap browser memiliki sedikit perbedaan dalam pemahamannya tentang [top-down], dan hulu dan hilir kode, yaitu, aliran program, sangat penting untuk operasi program yang benar. Jadi perlu untuk memahami urutan eksekusi JS secara mendalam. Untuk tujuan ini, saya merancang delapan percobaan berikut untuk mendapatkan hasil yang paling akurat.
percobaan
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
// Eksperimen 1:
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
t (1);
//hasil:
// [t (a, b)] a: 1, b: tidak terdefinisi
// Eksperimen 2:
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
t (1);
//hasil:
// [t (a)] a: 1
// Eksperimen 3:
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
t (1, 2);
//hasil:
// [t (a, b)] a: 1, b: 2
// Eksperimen 4:
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
t (1, 2);
//hasil:
// [t (a)] a: 1
// Eksperimen 5
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
t (1);
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
//hasil:
// [t (a, b)] a: 1, b: tidak terdefinisi
// Eksperimen 6
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
t (1, 2);
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
//hasil:
// [t (a, b)] a: 1, b: 2
// Eksperimen 7
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
t (1);
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
//hasil:
// [t (a)] a: 1
// Eksperimen 8
fungsi t (a, b)
{
alert ("[t (a, b)] a:" + a + ", b:" + b);
}
t (1, 2);
fungsi t (a)
{
alert ("[t (a)] a:" + a);
}
//hasil:
// [t (a)] a: 1
</script>
nota bene
Saat mendefinisikan fungsi JavaScript, nama fungsi adalah pengidentifikasi objek fungsi, dan jumlah parameter hanyalah atribut fungsi. Tidak mungkin mengimplementasikan kelebihan beban dengan mendefinisikan fungsi dengan jumlah parameter yang berbeda.
Saat memanggil suatu fungsi, JS menemukan objek fungsi yang sesuai melalui nama fungsi, dan kemudian mencocokkan parameter definisi fungsi dan daftar parameter ekspresi secara berurutan. Kode fungsi dijalankan.
Oleh karena itu, ketika mendefinisikan fungsi, parameter yang diperlukan biasanya ditempatkan di bagian depan daftar parameter dan parameter opsional ditempatkan setelah parameter yang diperlukan.
Hal -hal yang perlu diperhatikan
1. Hasil dari delapan percobaan di atas diperoleh dengan menjalankan melalui 360 browser (versi/kernel: 6.3.1.142/21.0.1180.89) dan browser Firefox (Versi: 27.0.1).
2. Delapan percobaan di atas tidak tergantung satu sama lain.