Fungsi & Prosedur VBScript dengan Contoh

โšก Ringkasan Cerdas

Fungsi dan Prosedur VBScript mengatur kode ke dalam blok yang dapat digunakan kembali. Prosedur Sub menjalankan pernyataan tanpa mengembalikan nilai, sedangkan prosedur Fungsi mengembalikan nilai dengan menetapkannya ke nama fungsi, dan argumen diteruskan menggunakan ByRef atau ByVal.

  • ๐Ÿงฑ Code Penggunaan kembali: Prosedur memodularisasi kode sehingga lebih mudah untuk ditulis, di-debug, dan dipelihara di seluruh skrip yang besar.
  • ๐Ÿ“ค Sub Prosedur: Sub menjalankan serangkaian pernyataan di antara Sub dan End Sub tetapi tidak mengembalikan nilai.
  • ๐Ÿ“ฅ Prosedur Fungsi: Sebuah fungsi mengembalikan nilai dengan menetapkannya ke nama fungsi di antara pernyataan Function dan End Function.
  • ๐Ÿ“ž Panggilan: Gunakan kata kunci `call` untuk menjalankan Subrutin, dan gunakan nama Fungsi dalam ekspresi untuk mendapatkan hasilnya.
  • ๐Ÿ” ByRef vs ByVal: ByRef memungkinkan perubahan tetap ada setelah pemanggilan; ByVal bekerja pada salinan, sehingga perubahan tidak tetap ada.
  • โš™๏ธ Penerusan Default: Secara default, VBScript meneruskan argumen melalui referensi kecuali Anda menentukan ByVal.

Fungsi & Prosedur VBScript

Prosedur VBScript

Prosedur VBScript digunakan terutama untuk pengorganisasian dan penggunaan ulang kode. Kami telah menggunakan contoh-contoh sederhana hingga saat ini karena di sini tujuannya adalah mempelajari VBScript. Namun dalam skenario dunia nyata, kodenya tidak sesederhana itu. Saat Anda mencoba menerapkan sesuatu yang berguna, kodenya mungkin menjadi lebih rumit. Mungkin ada ratusan baris yang membentang di banyak halaman.

Jika Anda tidak mengatur kode dengan benar, seluruh proses pengkodean, debugging, dan pengelolaan kode akan menjadi sangat rumit. Jadi, Anda harus mengatur atau memodularisasi kode dengan hati-hati sehingga kode Anda menjadi mudah dikelola.

Selain itu, misalkan Anda memiliki serangkaian pernyataan yang melakukan tindakan tertentu. Anda ingin tindakan yang sama diulangi beberapa kali. Lalu, kenapa harus menulis kode yang sama berulang kali? Dengan menggunakan teknik yang efektif, Anda dapat membuat kode Anda dapat digunakan kembali. Ini akan membantu pengembang untuk mengatur kode dengan indah dan penguji mengidentifikasi bug dengan mudah. Singkatnya, modularisasi dan penggunaan kembali kode sangat penting untuk membuat kode lebih kuat, andal, dan lebih mudah dipelihara. Inilah prosedurnya menjadi sebuah gambar.

Jenis Prosedur di VBScript

Prosedur adalah blok kode yang idealnya menjalankan satu fungsi. Blok kode yang memproses input atau menangani file adalah contoh fungsi yang baik. Ada dua jenis prosedur di dalamnya vbscript.

  1. Sub-prosedur: Sub-prosedur tidak mengembalikan nilai.
  2. Prosedur fungsi: Prosedur fungsi digunakan jika Anda ingin mengembalikan suatu nilai.

Sub Prosedur

Jika Anda ingin menjalankan serangkaian pernyataan tanpa mengembalikan nilai apa pun, Anda dapat menggunakan subprosedur.

Sub prosedur dimulai dan diakhiri dengan pernyataan Sub dan End Sub masing-masing. Sub prosedur dapat mengambil argumen, namun tidak dapat mengembalikan nilai. Sub prosedur mungkin menerima masukan atau tidak.

Sub outputMessage()
document.write("Welcome")
End Sub

Menulis kode ini saja tidak akan menghasilkan apa pun. Di sini Anda telah membuat Sub prosedur bernama outputMessage. Selanjutnya, Anda perlu meneleponnya.

panggil keluaranPesan()

Gabungkan kedua kumpulan kode ini di dalamnya tag like this.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

Output dari kode ini adalah

Sub Prosedur

Fungsi VBScript

Jika Anda ingin menjalankan serangkaian pernyataan dan mengembalikan suatu nilai, maka Anda perlu menggunakan prosedur fungsi, yang biasa disebut fungsi.

Prosedur fungsi dimulai dan diakhiri dengan pernyataan Fungsi dan Fungsi Akhir.

Prosedur fungsi mungkin menerima input atau tidak.

Prosedur fungsi mengembalikan nilai dengan memberikan nilai pada namanya.

<script type="text/vbscript">
Function findArea(radius)
   const pi=3.14
   area = pi*radius*radius
   findArea = area
End Function
document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>")
document.write("The area of the circle when the radius is 10 is " & findArea(10))

</script>

Output dari kode ini adalah

Fungsi VBScript

Parameter ByRef dan ByVal

Anda dapat meneruskan argumen VBScript ke prosedur berdasarkan referensi atau nilai.

Jika Anda tidak menentukan apa pun saat memanggil suatu prosedur, maka argumen/argumen diteruskan secara referensi secara default.

Jika perubahan yang Anda buat pada argumen tetap ada bahkan setelah prosedur dipanggil, maka Anda perlu meneruskan argumen VBScript dengan referensi.

Ketika sebuah argumen dilewatkan berdasarkan nilai, perubahan apa pun yang dilakukan oleh prosedur yang dipanggil terhadap nilai tersebut variabel jangan bertahan setelah prosedur dipanggil.

Kata kunci ByRef dan ByVal digunakan untuk menyampaikan argumen masing-masing berdasarkan referensi dan nilai.

Untuk memahami perbedaannya, pertama-tama jalankan kode di bawah ini dan lihat hasilnya.

Langkah 1) Salin kode ke editor Anda

<script type="text/vbscript">
Function returnResult(ByRef value)
   value = value +1
   returnResult = value
End Function
Dim x
x=5
call returnResult(x)
document.write(x)
</script>

Langkah 2) hasilnya adalah 6.

Langkah 3) Ubah Fungsi returnResult(nilai ByRef) menjadi Fungsi returnResult(nilai ByVal)

Langkah 4) Sekarang output Anda akan menjadi 5.

Pertanyaan Umum Demo Slot

Gunakan Exit Sub di dalam Sub, atau Exit Function di dalam Function, untuk keluar dari prosedur tepat sebelum akhir. Eksekusi kemudian akan kembali ke baris yang memanggilnya.

Jika Anda menggunakan kata kunci `call`, bungkus argumen dalam tanda kurung. Jika Anda tidak menggunakan `call`, jangan gunakan tanda kurung di sekitar beberapa argumen. Kesalahan ini adalah kesalahan sintaks VBScript yang umum.

Ya. Subrutin atau Fungsi VBScript dapat memanggil dirinya sendiri, yang disebut rekursi. Selalu sertakan kondisi dasar yang menghentikan panggilan tersebut, atau skrip akan berulang hingga kehabisan ruang tumpukan (stack space).

Ya. AI dapat mendeteksi pernyataan yang berulang, misalnya.tracMasukkan kode tersebut ke dalam Subrutin atau Fungsi dengan parameter yang tepat, dan perbarui panggilannya. Ini membuat skrip lebih pendek dan lebih mudah dipelihara.

Ya. AI bisa. tracJelaskan bagaimana suatu nilai berubah dengan ByRef dibandingkan dengan ByVal, tunjukkan output untuk masing-masing, dan rekomendasikan mana yang sebaiknya digunakan berdasarkan apakah pemanggil harus melihat perubahan tersebut.

Ringkaslah postingan ini dengan: