การประกาศตัวแปร VBScript พร้อมประเภทข้อมูล: Dim, String, Boolean
ตัวแปรเป็นพื้นฐานของการเขียนโปรแกรม ตัวแปรใช้ในการเก็บค่าหรือนิพจน์ เมื่อใดก็ตามที่คุณมีข้อมูลที่ต้องใช้งาน คุณจะต้องประกาศตัวแปร
ตัวอย่างเช่น ถ้าคุณต้องเก็บชื่อนักเรียนหรือเงินเดือนของพนักงาน คุณจะต้องใช้ตัวแปรชื่อนักเรียนหรือเงินเดือน
ตัวแปรยังสามารถใช้สำหรับการเก็บนิพจน์ได้ สมมติว่าคุณได้เก็บคะแนนของนักเรียนเป็นภาษาอังกฤษและคณิตศาสตร์โดยใช้ตัวแปร markE และ markM
คุณต้องการหาคะแนนรวม จากนั้น คุณสามารถใช้ตัวแปรชื่อ markT และตั้งค่าเป็น markE + markM กล่าวอีกนัยหนึ่ง markT = markE + markM ที่นี่ markT เป็นตัวแปรที่เก็บนิพจน์
การประกาศตัวแปร
การประกาศตัวแปรจะเหมือนกับการสร้างตัวแปรเนื่องจากคุณกำลังสั่งให้คอมพิวเตอร์จองพื้นที่หน่วยความจำ คุณสามารถตั้งชื่อตัวแปรได้ตามที่คุณต้องการ อาจเป็นชื่อสั้น เช่น x, y หรือ z หรือชื่อที่อธิบายตัวเองได้มากกว่านี้ เช่น นักเรียน ชื่อ เงินเดือน ฯลฯ การให้ชื่อตัวแปรที่ชัดเจนและมีความหมายถือเป็นแนวทางการเขียนโปรแกรมที่ดี
มีกฎบางประการสำหรับชื่อตัวแปร VBScript
- ชื่อตัวแปรต้องขึ้นต้นด้วยตัวอักษร ตัวอย่าง: salary, mark เป็นต้น ตัวแปรที่ขึ้นต้นด้วยตัวเลขหรืออักขระพิเศษไม่ได้รับอนุญาต ตัวอย่าง: 1stSchool, 3rdCar, _name เป็นต้น
- ชื่อตัวแปรต้องมีความยาวไม่เกิน 255 อักขระ
- ชื่อตัวแปรไม่ควรมีจุด (.)
ในการประกาศตัวแปร คุณต้องใช้คีย์เวิร์ด Dim สมมติว่าคุณวางแผนที่จะใช้ตัวแปรชื่อ “เงินเดือน” ในของคุณ โปรแกรมวีบีสคริปต์ไวยากรณ์
Dim salary;
แค่การประกาศตัวแปร VBS จะไม่ช่วยคุณ ใช้งานได้เลย คุณจะต้องกำหนดค่าให้กับมันในบางจุดและกระบวนการนี้เรียกว่าการเริ่มต้นตัวแปร หากคุณกำลังวางแผนที่จะประกาศเงินเดือนที่มีชื่อผันแปร คุณสามารถเขียนโค้ดได้ดังนี้:
Dim salary salary = 10000
สิ่งสำคัญที่คุณต้องแน่ใจคือคุณไม่ควรกำหนดค่าให้กับตัวแปรเมื่อคุณประกาศตัวแปร สมมติว่าคุณเขียนข้อความดังนี้:
Dim salary = 10000
หากคุณพยายามส่งออกเงินเดือนโดยใช้ document.write มันจะไม่ส่งคืนผลลัพธ์ใดๆ
ตัวอย่างรหัส
ขั้นตอน 1) เปิดโปรแกรมแก้ไขข้อความของคุณและเพิ่มบรรทัดโค้ดดังต่อไปนี้
<html> <head> <title>Variables</title> </head> <body> <script type="text/vbscript"> Dim variable1 variable1="John" document.write(variable1) ‘Dim variable2 = "Smith" ‘document.write(variable2) </script> </body> </html>
ขั้นตอน 2) บันทึกไฟล์นี้เป็น variable.html ในตำแหน่งที่คุณต้องการ จากนั้นเปิดใน IE (ทำตามขั้นตอนที่ระบุไว้ในบทก่อนหน้า) ตอนนี้คุณจะเห็นค่า John บนเบราว์เซอร์
ขั้นตอน 3) ถัดไป ไม่ใส่เครื่องหมายข้อคิดเห็นบรรทัด # 11 และ 12
บันทึกไฟล์อีกครั้งและรีเฟรชเบราว์เซอร์ IE หากเปิดไว้แล้วหรือเปิดไฟล์ในเบราว์เซอร์ IE คุณอาจสงสัยว่าไม่เห็นอะไรเลย ทั้งจอห์นและสมิธ ปัญหาคือคุณพยายามกำหนดค่าให้กับตัวแปรในขณะที่ประกาศตัวแปรที่ไม่ได้รับอนุญาต
การผูกหลวม
VBScript ให้อิสระแก่คุณในการใช้ตัวแปรโดยไม่ต้องประกาศ (เรียกว่าการผูกแบบหลวม) ตัวอย่างเช่น โดยไม่ต้องมีคำสั่ง Dim Student คุณสามารถกำหนดค่าให้กับตัวแปร Student ได้ เช่น – Student = “John”
แต่มันไม่ใช่การฝึกเขียนโปรแกรมที่ดีเลย หากคุณใช้ตัวแปรโดยไม่ประกาศและสะกดตัวแปรเดิมผิดเมื่อคุณใช้อีกครั้ง VBScript จะไม่แจ้งให้คุณทราบถึงข้อผิดพลาด
ดังนั้น เพื่อให้อ่านโค้ดได้ง่ายขึ้นและระบุข้อผิดพลาด คุณควรใช้คำสั่ง Option Explicit ที่ตอนต้นของโค้ด เพื่อที่คุณจะถูกบังคับให้ประกาศตัวแปรทั้งหมดของคุณแม้ว่าคุณจะลืมประกาศก็ตาม เพื่อหลีกเลี่ยงปัญหาที่เกี่ยวข้องกับประเภทตัวแปร คุณควรระบุคำสั่ง Option Explicit ที่จุดเริ่มต้นของโค้ด VBScript ของคุณเสมอ
ตัวอย่างรหัส:
ขั้นตอน 1) เปิดโปรแกรมแก้ไขข้อความของคุณและเพิ่มบรรทัดโค้ดดังต่อไปนี้
<html> <body> <script type="text/vbscript"> Option Explicit ‘Dim markE, markM, markT markE=90 markM=86 markT=markE+markM document.write("Your marks in English is " & markE & "." & "<br />") document.write("Your marks in Mathematics is " & markM & "." & "<br />") document.write("Your total marks is " & markT & ".") </script> </body> </html>
ขั้นตอน 2) บันทึกไฟล์เป็น Variables.html ในตำแหน่งที่คุณต้องการ ตอนนี้เปิดไฟล์ใน Internet Explorer และหน้าจอของคุณว่างเปล่า ทำไม ? เนื่องจากคุณได้ใช้ตัวเลือกที่ชัดเจนแต่ไม่ได้ประกาศตัวแปรก่อนใช้งาน
ขั้นตอน 3) ตอนนี้เพื่อทำความเข้าใจถึงความสำคัญของคำสั่ง Option Explicit แล้ว ไม่ต้องใส่เครื่องหมายข้อคิดเห็นบรรทัดที่ 5 ในโค้ดด้านบน
ขั้นตอน 4) บันทึกไฟล์ตัวแปร.html และรีเฟรชเบราว์เซอร์ของคุณ ตอนนี้ผลลัพธ์ของคุณจะเป็นดังนี้:
หมายเหตุ – หากต้องการเชื่อมสองสายเข้าด้วยกัน คุณต้องใช้ “&” ในตัวอย่างข้างต้น ใช้คำสั่ง document.write ภายใน เห็นได้ชัดว่าการนับคะแนนรวมผิด ตอนนี้เพียงเพิ่มคำสั่งแรก Option Explicit ที่จุดเริ่มต้นของโค้ด VBScript (โดยไม่มีคำสั่ง Dim)
บันทึกไฟล์และดูผลลัพธ์ คุณจะไม่ได้รับอะไรเลยเป็นผลลัพธ์ซึ่งบ่งชี้ว่ารหัสของคุณมีข้อผิดพลาด ข้อผิดพลาดคือคุณไม่ได้ประกาศตัวแปรก่อนใช้งานแม้ว่าจะระบุคำสั่ง Option Explicit แล้วก็ตาม
คุณยังสามารถประกาศตัวแปรโดยใช้คำสำคัญสาธารณะและส่วนตัว เช่น นักเรียนสาธารณะหรือนักเรียนส่วนตัว แต่คุณต้องระมัดระวังมากขึ้นในขณะที่ใช้คำหลักทั้งสองนี้ในการประกาศตัวแปร เนื่องจากจะทำให้ขอบเขตของตัวแปรของคุณเปลี่ยนไป
คุณยังสามารถเก็บค่าหลายค่าไว้ในตัวแปรตัวเดียวได้ และตัวแปรดังกล่าวเรียกว่า อาร์เรย์ VBScript ตัวแปร สมมติว่าคุณต้องการเก็บรายละเอียด เช่น ชื่อ เกรด ที่อยู่ ฯลฯ ของนักเรียน 30 คน การสร้างและจัดการชุดตัวแปร 30 ตัวสำหรับชื่อ เกรด ที่อยู่ ฯลฯ จะเป็นเรื่องยากมาก
แต่คุณสามารถประกาศตัวแปรตัวเดียวที่ตั้งชื่อนักเรียนและจัดเก็บชื่อของนักเรียนทั้ง 30 คนในตัวแปรนี้ได้ ในกรณีเช่นนี้ คุณจะต้องประกาศตัวแปรเป็น Dim students(29) (ดัชนีอาร์เรย์เริ่มจากศูนย์) และคุณจะกำหนดค่าเป็น
students(0) = "John" students(1) = "Hannah" students(2) = "Kevin" ....... ....... students(28) = "Rose" students(29) = "Emma"
ในทำนองเดียวกัน คุณสามารถสร้างตัวแปร เช่น เครื่องหมาย ที่อยู่ ฯลฯ เพื่อจัดเก็บค่าตามลำดับของนักเรียนทั้ง 30 คน คุณยังสามารถสร้างอาร์เรย์หลายมิติที่มีได้ถึง 60 มิติได้
ตัวอย่างรหัส:
เปิดโปรแกรมแก้ไขข้อความของคุณและเพิ่มบรรทัดโค้ดดังต่อไปนี้
<html> <body> <script type="text/vbscript"> Option Explicit Dim students(19), marks(19) students(0) = "John" marks(0) = 95 students(1) = "Emma" marks(1) = "83" students(2) = "Kevin" marks(2) = 87 document.write(students(0) & " has scored " & marks(0) & ".<br />") document.write(students(1) & " has scored " & marks(1) & ".<br />") document.write(students(2) & " has scored " & marks(2) & ".<br />") </script> </body> </html>
ที่นี่ เราเก็บรายละเอียดของนักเรียนเพียงสามคนเท่านั้น คุณสามารถเพิ่มรายละเอียดของนักเรียนได้สูงสุด 20 คน เนื่องจากเราได้กำหนดขนาดของอาร์เรย์เป็น 20 (เนื่องจากดัชนีเริ่มจาก 0)
ชนิดข้อมูล VBScript
ในส่วนก่อนหน้านี้ คุณอาจสังเกตเห็นว่า เราได้กำหนดประเภทข้อมูลที่แตกต่างกันให้กับตัวแปร เราได้จัดเก็บตัวเลข (เครื่องหมายและเงินเดือน) สตริง (ชื่อ) เป็นต้น ในตัวแปรที่แตกต่างกัน
ตัวเลข สตริง ฯลฯ เหล่านี้เรียกว่า ประเภทข้อมูล- ในความเป็นจริง VBScript มีข้อมูลประเภทเดียวเท่านั้นที่เรียกว่า Variant ตัวแปรคือประเภทข้อมูลพิเศษที่สามารถเก็บข้อมูลประเภทต่างๆ ได้
หากคุณใช้ Variant ในบริบทที่เป็นตัวเลข มันจะทำงานเหมือนกับตัวเลข และเมื่อคุณใช้ในบริบทสตริง มันจะทำงานเป็นสตริง
กล่าวอีกนัยหนึ่ง เมื่อคุณระบุเงินเดือน=10000 VBScript จะถือว่าเงินเดือนนั้นเป็นประเภทข้อมูลที่เป็นตัวเลข ตัวแปรสร้างความแตกต่างเฉพาะเกี่ยวกับลักษณะของข้อมูล ตัวอย่างเช่น คุณสามารถใช้ประเภทตัวแปรเพื่อจัดเก็บค่าบูลีน สกุลเงิน วันที่ และอื่นๆ
ข้อมูลประเภทต่างๆ เหล่านี้ที่สามารถมีอยู่ใน Variant ได้เรียกว่าประเภทย่อย แม้ว่าโดยส่วนใหญ่แล้ว Variant จะทำงานในลักษณะที่เหมาะสมที่สุดสำหรับข้อมูลที่มีอยู่ แต่คุณควรคำนึงถึงประเภทย่อยที่แตกต่างกัน
ต่อไปนี้เป็นรายการประเภทข้อมูล VBScript
- ว่างเปล่า: ชนิดย่อยพิเศษเพื่อแสดงตัวแปรที่ยังไม่ได้กำหนดค่าใด ๆ
- Null: ชนิดย่อยพิเศษเพื่อแสดงตัวแปรที่กำหนดด้วยค่า Null
- จำนวนเต็ม: การใช้ 2 ไบต์เพื่อแสดงจำนวนเต็มที่ลงนามในช่วง -32,768 ถึง 32,767
- แบบยาว: การใช้ 4 ไบต์เพื่อแสดงจำนวนเต็มที่มีเครื่องหมายตั้งแต่ -2,147,483,648 ถึง 2,147,483,647
- ซิงเกิล: ใช้ 4 ไบต์เพื่อแสดงตัวเลขจริงในรูปแบบจุดลอยตัวซึ่งมีช่วงตั้งแต่ -3.402823e38 ถึง -1.401298e-45 สำหรับค่าลบ และตั้งแต่ 1.401298e-45 ถึง 3.402823e38 สำหรับค่าบวก
- Double:การใช้ 8 ไบต์เพื่อแสดงตัวเลขจริงในรูปแบบจุดลอยตัวตั้งแต่ -1.79769313486232e308 ถึง -4.94065645841247e-324 สำหรับค่าลบ และตั้งแต่ 4.94065645841247e-324 ถึง 1.79769313486232e308 สำหรับค่าบวก
- สกุลเงิน: ใช้ 8 ไบต์เพื่อแสดงตัวเลขจริงในรูปแบบทศนิยมตั้งแต่ -922,337,293,685,477.5808 ถึง 922,337,293,685,477.5807
- วันที่: ใช้ 8 ไบต์เพื่อแสดงวันที่ตั้งแต่ 1 มกราคม 100 ถึง 31 ธันวาคม 9999
- สตริง: ใช้ 1 ไบต์ต่ออักขระเพื่อแสดงลำดับอักขระซึ่งอาจมีได้ประมาณ 2 พันล้านอักขระ
- วัตถุ: ชนิดย่อยพิเศษเพื่อแสดงการอ้างอิงถึงวัตถุ
- ข้อผิดพลาด: ชนิดย่อยพิเศษเพื่อแสดงหมายเลขข้อผิดพลาด
- Boolean: การใช้ 2 ไบต์เพื่อให้มีทั้ง True หรือ False
- ไบต์: การใช้ 1 ไบต์เพื่อแสดงจำนวนเต็มในช่วง 0 ถึง 255
มีสองตัวในตัว ฟังก์ชัน VBScript ที่ช่วยให้คุณทราบประเภทย่อยของตัวแปร: “varType()” และ “typeName()”
ประเภท var ส่งคืนการแสดงตัวเลข และ typeName() ส่งคืนการแสดงข้อความของชนิดย่อยของตัวแปร แต่ละประเภทย่อยมีการแสดงตัวเลขที่กำหนดไว้ล่วงหน้า
ตัวอย่างรหัส
เปิดโปรแกรมแก้ไขข้อความของคุณและเพิ่มบรรทัดโค้ดดังต่อไปนี้
<html> <head> <script type="text/vbscript"> Option Explicit Dim a a = Empty document.write("a = " & a & "<br />") document.write("The numeric representation of a is " & VarType(a) & "<br />") document.write("The variable a is of " & TypeName(a) & " data type." & "<br /><br />") Dim b b = Null document.write("b = " & b & "<br />") document.write("The numeric representation of b is " & VarType(b) & "<br />") document.write("The variable b is of " & TypeName(b) & " data type." & "<br /><br />") Dim c c = 4 document.write("c = " & c & "<br />") document.write("The numeric representation of c is " & VarType(c) & "<br />") document.write("The variable c is of " & TypeName(c) & " data type." & "<br /><br />") Dim d d = -2100483648 document.write("d = " & d & "<br />") document.write("The numeric representation of d is " & VarType(d) & "<br />") document.write("The variable d is of " & TypeName(d) & " data type." & "<br /><br />") Dim e e = -3.402823E38 document.write("e = " & e & "<br />") document.write("The numeric representation of e is " & VarType(e) & "<br />") document.write("The variable e is of " & TypeName(e) & " data type." & "<br /><br />") Dim f f = "John" document.write("f = " & f & "<br />") document.write("The numeric representation of f is " & VarType(f) & "<br />") document.write("The variable f is of " & TypeName(f) & " data type." & "<br /><br />") Dim g g = True document.write("g = " & g & "<br />") document.write("The numeric representation of g is " & VarType(g) & "<br />") document.write("The variable g is of " & TypeName(g) & " data type." & "<br /><br />") </script> </head> <body> </body> </html>
บันทึกไฟล์เป็น subtype.html และเปิดใน IE ผลลัพธ์ของคุณจะมีลักษณะดังนี้:
หมายเหตุ: คุณยังสามารถประกาศตัวแปรโดยใช้ สาธารณะ และ ส่วนตัว คำหลักเช่นนักเรียนของรัฐหรือนักเรียนเอกชน แต่คุณต้องระมัดระวังมากขึ้นในขณะที่ใช้คำหลักทั้งสองนี้ในการประกาศตัวแปร เนื่องจากจะทำให้ขอบเขตของตัวแปรของคุณเปลี่ยนไป
สรุป
- ตัวแปรถูกใช้เพื่อเก็บค่าหรือนิพจน์ขณะเขียนโปรแกรม ตัวแปรจะต้องถูกประกาศและเริ่มต้นแยกกัน
- แม้ว่าคุณจะสามารถใช้ตัวแปรได้โดยไม่ต้องประกาศ แต่การประกาศตัวแปรก่อนใช้งานก็ถือเป็นแนวทางปฏิบัติในการเขียนโปรแกรมที่ดี
- ตัวแปรเป็นประเภทข้อมูลเดียวของ VBScript และตัวแปรมีประเภทย่อยที่แตกต่างกัน รวมถึงสตริง บูลีน จำนวนเต็ม สกุลเงิน ฯลฯ
การแก้ไขปัญหา
ในกรณีคุณเห็นหน้าว่างหลังจากรันโค้ด ให้ทำดังต่อไปนี้
- กด F12 เพื่อเปิดเครื่องมือสำหรับนักพัฒนา
- ในแถบเครื่องมือด้านซ้ายเลื่อนลงจนกว่าคุณจะเห็นหน้าการตั้งค่า "การจำลอง"
- เปลี่ยนโหมดเอกสารจากค่าเริ่มต้น (“Edge”) เป็น 10
- เพิ่มโค้ดต่อไปนี้ลงในส่วนหัว
<meta http-equiv="x-ua-compatible" content="IE=10">