ฟังก์ชั่นและขั้นตอน VBScript พร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
ฟังก์ชันและโพรซีเดอร์ใน VBScript จัดระเบียบโค้ดเป็นบล็อกที่สามารถนำกลับมาใช้ใหม่ได้ โพรซีเดอร์ย่อย (Sub procedure) จะรันคำสั่งโดยไม่ส่งค่ากลับ ในขณะที่โพรซีเดอร์ฟังก์ชัน (Function procedure) จะส่งค่ากลับโดยการกำหนดค่าให้กับชื่อฟังก์ชัน และส่งผ่านอาร์กิวเมนต์โดยใช้ ByRef หรือ ByVal

ขั้นตอน VBScript
ขั้นตอน VBScript ใช้เพื่อจัดระเบียบและนำโค้ดกลับมาใช้ใหม่เป็นหลัก จนถึงตอนนี้ เราใช้ตัวอย่างง่ายๆ มาโดยตลอด เนื่องจากจุดประสงค์ของบทความนี้คือการเรียนรู้ VBScript แต่ในสถานการณ์จริง โค้ดไม่ได้ง่ายอย่างนั้น เมื่อคุณพยายามนำสิ่งที่มีประโยชน์ไปใช้ โค้ดอาจซับซ้อนมากขึ้น อาจมีบรรทัดหลายร้อยบรรทัดที่ทอดยาวไปทั่วทั้งหลายหน้า
หากคุณไม่จัดระเบียบโค้ดอย่างเหมาะสม กระบวนการเขียนโค้ด ดีบัก และจัดการโค้ดทั้งหมดก็จะซับซ้อนมากขึ้น ดังนั้น คุณควรจัดระเบียบหรือแบ่งโค้ดอย่างระมัดระวังเพื่อให้จัดการโค้ดได้ง่าย
นอกจากนี้ สมมติว่าคุณมีชุดคำสั่งที่ดำเนินการอย่างใดอย่างหนึ่ง คุณต้องการให้การกระทำเดิมซ้ำหลายครั้ง แล้วทำไมคุณถึงต้องเขียนโค้ดเดิมซ้ำแล้วซ้ำเล่า? ด้วยการใช้เทคนิคที่มีประสิทธิภาพ คุณสามารถทำให้โค้ดของคุณสามารถนำมาใช้ซ้ำได้ สิ่งนี้จะช่วยให้นักพัฒนาจัดระเบียบโค้ดได้อย่างสวยงามและผู้ทดสอบสามารถระบุจุดบกพร่องได้อย่างง่ายดาย กล่าวโดยสรุป การทำให้โค้ดเป็นโมดูลและการนำกลับมาใช้ใหม่เป็นสิ่งสำคัญมากในการทำให้โค้ดมีประสิทธิภาพ เชื่อถือได้ และบำรุงรักษาได้ง่ายขึ้น มาที่นี่ขั้นตอนเป็นภาพ
ประเภทของขั้นตอนใน VBScript
ขั้นตอนคือกลุ่มของโค้ดที่ทำหน้าที่เดียวได้อย่างดีเยี่ยม บล็อกของโค้ดที่ประมวลผลอินพุตหรือจัดการไฟล์เป็นตัวอย่างที่ดีของฟังก์ชัน มีขั้นตอนอยู่สองประเภท วีบีสคริปต์.
- ขั้นตอนย่อย: ขั้นตอนย่อยไม่ส่งกลับค่า
- ขั้นตอนฟังก์ชัน: ขั้นตอนฟังก์ชันจะใช้ถ้าคุณต้องการส่งกลับค่า
ขั้นตอนย่อย
หากคุณต้องการดำเนินการชุดคำสั่งโดยไม่ส่งคืนค่าใดๆ คุณสามารถใช้ขั้นตอนย่อยได้
ขั้นตอนย่อยเริ่มต้นและสิ้นสุดด้วยคำสั่ง Sub และ End Sub ตามลำดับ ขั้นตอนย่อยสามารถรับอาร์กิวเมนต์ได้ แต่ไม่สามารถส่งคืนค่าได้ ขั้นตอนย่อยอาจจะหรืออาจจะไม่รับข้อมูลเข้าก็ได้
Sub outputMessage() document.write("Welcome") End Sub
เพียงแค่เขียนโค้ดนี้จะไม่แสดงผลอะไรเลย ที่นี่คุณได้สร้างขั้นตอนย่อยชื่อ outputMessage ต่อไปคุณต้องเรียกมัน
โทรออกข้อความ ()
รวมรหัสทั้งสองชุดนี้ไว้ข้างใน tag like this.
<script type="text/vbscript"> Sub outputMessage() document.write("Welcome") End Sub call outputMessage() </script>
ผลลัพธ์ของโค้ดนี้จะเป็น
ฟังก์ชั่น VBScript
หากคุณต้องการดำเนินการชุดคำสั่งและส่งกลับค่า คุณจะต้องใช้โพรซีเดอร์ของฟังก์ชัน หรือที่เรียกกันทั่วไปว่าฟังก์ชัน
ขั้นตอนการทำงานเริ่มต้นและสิ้นสุดด้วยคำสั่ง Function และ End Function ตามลำดับ
ขั้นตอนการทำงานอาจรับอินพุตหรือไม่ก็ได้
ขั้นตอนการทำงานของฟังก์ชันส่งคืนค่าโดยการกำหนดค่าให้กับชื่อ
<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>
ผลลัพธ์ของโค้ดนี้จะเป็น
พารามิเตอร์ ByRef และ ByVal
คุณสามารถส่งผ่านอาร์กิวเมนต์ VBScript ไปยังขั้นตอนโดยการอ้างอิงหรือตามค่า
หากคุณไม่ได้ระบุสิ่งใดเมื่อคุณเรียกใช้โพรซีเดอร์ อาร์กิวเมนต์/อาร์กิวเมนต์จะถูกส่งผ่านโดยการอ้างอิงตามค่าเริ่มต้น
หากคุณเปลี่ยนแปลงอาร์กิวเมนต์ให้คงอยู่แม้หลังจากเรียกใช้โพรซีเดอร์แล้ว คุณจะต้องส่งอาร์กิวเมนต์ VBScript โดยการอ้างอิง
เมื่ออาร์กิวเมนต์ถูกส่งผ่านตามค่า การเปลี่ยนแปลงใดๆ ที่กระบวนงานที่เรียกทำกับค่าของ ตัวแปร อย่าคงอยู่หลังจากเรียกโพรซีเดอร์แล้ว
คำสำคัญ ByRef และ ByVal ใช้เพื่อส่งผ่านอาร์กิวเมนต์โดยการอ้างอิงและตามค่าตามลำดับ
เพื่อทำความเข้าใจความแตกต่าง ขั้นแรกให้รันโค้ดด้านล่างและดูผลลัพธ์
ขั้นตอน 1) คัดลอกโค้ดลงในโปรแกรมแก้ไขของคุณ
<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>
ขั้นตอน 2) เอาต์พุตคือ 6
ขั้นตอน 3) เปลี่ยนฟังก์ชัน returnResult (ค่า ByRef) เป็นฟังก์ชัน returnResult (ค่า ByVal)
ขั้นตอน 4) ตอนนี้ผลลัพธ์ของคุณจะเป็น 5
