ฟังก์ชั่นและขั้นตอน VBScript พร้อมตัวอย่าง

ขั้นตอน VBScript

ขั้นตอน VBScript ใช้เพื่อจัดระเบียบและนำโค้ดกลับมาใช้ใหม่เป็นหลัก จนถึงตอนนี้ เราใช้ตัวอย่างง่ายๆ มาโดยตลอด เนื่องจากจุดประสงค์ของบทความนี้คือการเรียนรู้ VBScript แต่ในสถานการณ์จริง โค้ดไม่ได้ง่ายอย่างนั้น เมื่อคุณพยายามนำสิ่งที่มีประโยชน์ไปใช้ โค้ดอาจซับซ้อนมากขึ้น อาจมีบรรทัดหลายร้อยบรรทัดที่ทอดยาวไปทั่วทั้งหลายหน้า

หากคุณไม่จัดระเบียบโค้ดอย่างเหมาะสม กระบวนการเขียนโค้ด ดีบัก และจัดการโค้ดทั้งหมดก็จะซับซ้อนมากขึ้น ดังนั้น คุณควรจัดระเบียบหรือแบ่งโค้ดอย่างระมัดระวังเพื่อให้จัดการโค้ดได้ง่าย

นอกจากนี้ สมมติว่าคุณมีชุดคำสั่งที่ดำเนินการอย่างใดอย่างหนึ่ง คุณต้องการให้การกระทำเดิมซ้ำหลายครั้ง แล้วทำไมคุณถึงต้องเขียนโค้ดเดิมซ้ำแล้วซ้ำเล่า? ด้วยการใช้เทคนิคที่มีประสิทธิภาพ คุณสามารถทำให้โค้ดของคุณสามารถนำมาใช้ซ้ำได้ สิ่งนี้จะช่วยให้นักพัฒนาจัดระเบียบโค้ดได้อย่างสวยงามและผู้ทดสอบสามารถระบุจุดบกพร่องได้อย่างง่ายดาย กล่าวโดยสรุป การทำให้โค้ดเป็นโมดูลและการนำกลับมาใช้ใหม่เป็นสิ่งสำคัญมากในการทำให้โค้ดมีประสิทธิภาพ เชื่อถือได้ และบำรุงรักษาได้ง่ายขึ้น มาที่นี่ขั้นตอนเป็นภาพ

ประเภทของขั้นตอนใน VBScript

ขั้นตอนคือกลุ่มของโค้ดที่ทำหน้าที่เดียวได้อย่างดีเยี่ยม บล็อกของโค้ดที่ประมวลผลอินพุตหรือจัดการไฟล์เป็นตัวอย่างที่ดีของฟังก์ชัน มีขั้นตอนอยู่สองประเภท วีบีสคริปต์.

  1. ขั้นตอนย่อย: ขั้นตอนย่อยไม่ส่งกลับค่า
  2. ขั้นตอนฟังก์ชัน: ขั้นตอนฟังก์ชันจะใช้ถ้าคุณต้องการส่งกลับค่า

ขั้นตอนย่อย

หากคุณต้องการดำเนินการชุดคำสั่งโดยไม่ส่งคืนค่าใดๆ คุณสามารถใช้ขั้นตอนย่อยได้

ขั้นตอนย่อยเริ่มต้นและสิ้นสุดด้วยคำสั่ง 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>

ผลลัพธ์ของโค้ดนี้จะเป็น

ฟังก์ชั่น VBScript

พารามิเตอร์ 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

สรุป

  • ขั้นตอน VBScript ใช้เป็นหลักเพื่อการจัดระเบียบโค้ดที่ดีขึ้นและการนำกลับมาใช้ใหม่
  • ขั้นตอน VBS มีสองประเภท: ขั้นตอนย่อยและขั้นตอนการทำงาน
  • หากคุณต้องการดำเนินการชุดคำสั่งโดยไม่ส่งคืนค่าใดๆ คุณสามารถใช้ขั้นตอนย่อยได้
  • หากคุณต้องการดำเนินการชุดคำสั่งและส่งกลับค่า คุณจะต้องใช้โพรซีเดอร์ของฟังก์ชัน
  • คุณสามารถส่งผ่านอาร์กิวเมนต์ไปยังขั้นตอนโดยการอ้างอิงหรือตามค่า อาร์กิวเมนต์จะถูกส่งผ่านโดยการอ้างอิงตามค่าเริ่มต้น
  • หากคุณต้องการให้การเปลี่ยนแปลงที่เกิดขึ้นกับอาร์กิวเมนต์ยังคงอยู่แม้หลังจากเรียกใช้ขั้นตอนแล้ว คุณจะต้องส่งอาร์กิวเมนต์โดยอ้างอิงและไม่เช่นนั้นก็โดยค่า