Perbedaan Pemanggilan Fungsi JavaScript Dengan dan Tanpa Tanda Kurung
Tag Terkait:1. Contoh JavaScript
2. Prototipe dan Pewarisan di JavaScript
Pendahuluan: function fun() { return 1; } var a = fun; var b = fun(); Di JavaScript, kita menyebut kode berikut sebagai fungsi: function fun() { return 1; } Fungsi adalah tipe referensi yang disebut function, sehingga fungsi adalah objek. Objek disimpan di memori, dan nama fungsi adalah pointer ke objek ini. var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
Di JavaScript kita menyebut kode berikut sebagai fungsi:
function fun ( ) {
return 1 ;
}

Fungsi adalah instans dari tipe referensi yang disebut function, sehingga fungsi adalah objek. Objek disimpan di memori, dan nama fungsi adalah pointer ke objek ini.
var a = fun berarti menyalin pointer dari nama fungsi fun ke variabel a, tetapi ini tidak berarti bahwa fungsi itu sendiri disalin.
Artinya: a adalah fungsi fun, b adalah 1
Jika nama fungsi diikuti oleh tanda kurung, ini berarti bahwa kode dalam fungsi (kode dalam kurung kurawal) dipanggil (dieksekusi) segera.
【Pemanggilan fungsi JavaScript dengan dan tanpa tanda kurung】
Tanpa tanda kurung, nama fungsi digunakan sebagai pointer fungsi. Nama fungsi adalah pointer fungsi. Pada saat ini, hasil fungsi tidak diperoleh, karena kode tubuh fungsi tidak akan dijalankan. Ini hanya meneruskan alamat tempat tubuh fungsi berada, sehingga dapat menemukan tubuh fungsi untuk dieksekusi saat diperlukan.
Contoh:
window.onload = init ;
Fungsi init tidak akan dieksekusi ketika baris kode ini dieksekusi. Ketika browser memuat dokumen, kalimat ini akan dimuat, dan akan diberitahu fungsi mana yang akan dieksekusi setelah dokumen dimuat, tetapi tidak dieksekusi pada saat itu, sampai seluruh dokumen dimuat. Init () akan dieksekusi melalui pointer init.
Catatan: Sebagian konten artikel ini merujuk:
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
Penulis: jiankunking Sumber: http://blog.csdn.net/jiankunking
Pernyataan hak cipta: Konten artikel ini dikontribusikan oleh pengguna terdaftar nama asli Alibaba Cloud. Hak cipta milik penulis asli. Komunitas developer Alibaba Cloud tidak memiliki hak cipta dan tidak bertanggung jawab secara hukum. Untuk aturan spesifik, silakan lihat "Perjanjian Layanan Pengguna Komunitas Developer Alibaba Cloud" dan "Pedoman Perlindungan Kekayaan Intelektual Komunitas Developer Alibaba Cloud". Jika Anda menemukan konten yang diduga plagiarisme di komunitas ini, isi formulir keluhan pelanggaran untuk melaporkannya. Setelah diverifikasi, komunitas ini akan segera menghapus konten yang diduga melanggar.
2. Prototipe dan Pewarisan di JavaScript
Pendahuluan: function fun() { return 1; } var a = fun; var b = fun(); Di JavaScript, kita menyebut kode berikut sebagai fungsi: function fun() { return 1; } Fungsi adalah tipe referensi yang disebut function, sehingga fungsi adalah objek. Objek disimpan di memori, dan nama fungsi adalah pointer ke objek ini. var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
Di JavaScript kita menyebut kode berikut sebagai fungsi:
function fun ( ) {
return 1 ;
}

【Pemanggilan fungsi JavaScript dengan dan tanpa tanda kurung】
Fungsi adalah instans dari tipe referensi yang disebut function, sehingga fungsi adalah objek. Objek disimpan di memori, dan nama fungsi adalah pointer ke objek ini.
var a = fun berarti menyalin pointer dari nama fungsi fun ke variabel a, tetapi ini tidak berarti bahwa fungsi itu sendiri disalin.
Artinya: a adalah fungsi fun, b adalah 1
Jika nama fungsi diikuti oleh tanda kurung, ini berarti bahwa kode dalam fungsi (kode dalam kurung kurawal) dipanggil (dieksekusi) segera.
【Pemanggilan fungsi JavaScript dengan dan tanpa tanda kurung】
Tanpa tanda kurung, nama fungsi digunakan sebagai pointer fungsi. Nama fungsi adalah pointer fungsi. Pada saat ini, hasil fungsi tidak diperoleh, karena kode tubuh fungsi tidak akan dijalankan. Ini hanya meneruskan alamat tempat tubuh fungsi berada, sehingga dapat menemukan tubuh fungsi untuk dieksekusi saat diperlukan.
Contoh:
window.onload = init ;
Fungsi init tidak akan dieksekusi ketika baris kode ini dieksekusi. Ketika browser memuat dokumen, kalimat ini akan dimuat, dan akan diberitahu fungsi mana yang akan dieksekusi setelah dokumen dimuat, tetapi tidak dieksekusi pada saat itu, sampai seluruh dokumen dimuat. Init () akan dieksekusi melalui pointer init.
Catatan: Sebagian konten artikel ini merujuk:
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
Penulis: jiankunking Sumber: http://blog.csdn.net/jiankunking
Pernyataan hak cipta: Konten artikel ini dikontribusikan oleh pengguna terdaftar nama asli Alibaba Cloud. Hak cipta milik penulis asli. Komunitas developer Alibaba Cloud tidak memiliki hak cipta dan tidak bertanggung jawab secara hukum. Untuk aturan spesifik, silakan lihat "Perjanjian Layanan Pengguna Komunitas Developer Alibaba Cloud" dan "Pedoman Perlindungan Kekayaan Intelektual Komunitas Developer Alibaba Cloud". Jika Anda menemukan konten yang diduga plagiarisme di komunitas ini, isi formulir keluhan pelanggaran untuk melaporkannya. Setelah diverifikasi, komunitas ini akan segera menghapus konten yang diduga melanggar.
Artikel Terkait
-
6 Teknologi Opsional untuk Penyimpanan Data
Tim Pusat Bantuan
Jelajahi Lebih Banyak Penawaran Spesial
-
Short Message Service (SMS) & Layanan Email
Paket 50.000 email mulai dari USD 1,99, 120 pesan singkat mulai dari hanya USD 1,00
