Khai báo biến VBScript với các kiểu dữ liệu: Dim, String, Boolean
Các biến tạo thành cơ sở của lập trình. Các biến được sử dụng để giữ giá trị hoặc biểu thức. Bất cứ khi nào bạn có một phần dữ liệu để làm việc, bạn sẽ phải khai báo một biến.
Ví dụ: nếu bạn phải lưu trữ tên sinh viên hoặc tiền lương của nhân viên, bạn sẽ sử dụng các biến có tên sinh viên hoặc tiền lương.
Các biến cũng có thể được sử dụng để lưu giữ các biểu thức. Giả sử bạn đã lưu trữ điểm của một học sinh môn Tiếng Anh và Toán bằng cách sử dụng các biến markE và markM.
Bạn muốn tìm tổng số điểm. Sau đó, bạn có thể sử dụng biến có tên markT và đặt giá trị của nó thành markE + markM. Nói cách khác, markT = markE + markM. Ở đây, markT là một biến chứa biểu thức.
Khai báo biến
Khai báo biến cũng giống như tạo biến vì bạn đang hướng dẫn máy tính dự trữ dung lượng bộ nhớ. Bạn có thể đặt tên biến theo cách bạn muốn. Nó có thể là những tên ngắn như x, y hoặc z hoặc nhiều tên tự mô tả hơn như sinh viên, Tên, lương, v.v. Việc đặt tên rõ ràng và có ý nghĩa cho các biến được coi là một cách lập trình tốt.
Có một số quy tắc nhất định cho tên biến VBScript.
- Tên biến phải bắt đầu bằng một chữ cái. Ví dụ: lương, nhãn hiệu, v.v. Không được phép sử dụng các biến bắt đầu bằng số hoặc ký tự đặc biệt. Ví dụ: 1stSchool, 3rdCar, _name, v.v.
- Tên biến không được vượt quá 255 ký tự.
- Tên biến không được chứa dấu chấm (.).
Để khai báo biến, bạn cần sử dụng từ khóa Dim. Giả sử bạn dự định sử dụng một biến có tên là “lương” trong chương trình VBScript, cú pháp
Dim salary;
Chỉ khai báo các biến VBS sẽ không giúp ích gì cho bạn, hãy sử dụng nó. Bạn sẽ phải gán một giá trị cho nó vào lúc này hay lúc khác và quá trình này được gọi là khởi tạo biến. Nếu bạn dự định khai báo một mức lương có tên thay đổi, thì bạn có thể viết mã như sau:
Dim salary salary = 10000
Điều quan trọng bạn cần đảm bảo là bạn không nên gán giá trị cho biến khi bạn khai báo nó. Giả sử bạn viết một tuyên bố như thế này:
Dim salary = 10000
Nếu bạn cố gắng xuất lương bằng document.write, nó sẽ không trả về bất kỳ kết quả nào.
Ví dụ về mã
Bước 1) Mở trình soạn thảo văn bản và thêm các dòng mã sau.
<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>
Bước 2) Lưu tệp này dưới dạng variable.html ở vị trí bạn muốn rồi mở tệp này trong IE (làm theo các bước được chỉ định trong chương trước). Bây giờ, bạn sẽ thấy giá trị John trên trình duyệt.
Bước 3) Tiếp theo bỏ comment dòng #11 & 12
Lưu lại tệp và làm mới trình duyệt IE nếu nó đã được mở hoặc mở tệp trong trình duyệt IE. Bạn có thể ngạc nhiên khi không thấy gì cả; không phải John hay Smith. Vấn đề ở đây là bạn đã cố gán giá trị cho biến trong khi khai báo nó, điều này không được phép.
Ràng buộc lỏng lẻo
VBScript cung cấp cho bạn quyền tự do sử dụng các biến mà không cần khai báo nó (được gọi là ràng buộc lỏng lẻo). Ví dụ, không cần có câu lệnh Dim sinh viên, bạn có thể gán giá trị cho biến sinh viên như – sinh viên = “John”
Tuy nhiên, nó hoàn toàn không phải là một cách thực hành lập trình tốt. Nếu bạn sử dụng một biến mà không khai báo nó và viết sai chính tả biến đó khi bạn sử dụng lại, VBScript sẽ không nhắc bạn về lỗi.
Vì vậy, để mã dễ đọc hơn và xác định lỗi, bạn nên sử dụng câu lệnh Option Explicit ở đầu mã để buộc phải khai báo tất cả các biến ngay cả khi bạn quên khai báo. Để tránh các vấn đề liên quan đến loại biến, bạn nên chỉ định câu lệnh Tùy chọn rõ ràng ở đầu mã VBScript của mình.
Ví dụ về mã:
Bước 1) Mở trình soạn thảo văn bản và thêm các dòng mã sau.
<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>
Bước 2) Lưu tệp dưới dạng biến.html ở vị trí ưa thích của bạn. Bây giờ hãy mở tệp trong Internet Explorer và màn hình của bạn trống. Tại sao ? bởi vì bạn đã sử dụng tùy chọn rõ ràng nhưng không khai báo các biến trước khi sử dụng chúng
Bước 3) Bây giờ để hiểu tầm quan trọng của câu lệnh Option Explicit, hãy bỏ ghi chú Dòng 5 trong đoạn mã trên
Bước 4) Lưu tệp biến.html và làm mới trình duyệt của bạn. Bây giờ, đầu ra của bạn sẽ như thế này:
Chú thích – Để nối hai chuỗi, bạn cần sử dụng “&”. Trong ví dụ trên, nó được sử dụng bên trong lệnh document.write. Rõ ràng là cách tính tổng điểm là sai. Bây giờ chỉ cần thêm câu lệnh đầu tiên Option Explicit vào đầu mã VBScript (không có câu lệnh Dim).
Lưu tập tin và xem đầu ra. Bạn sẽ không nhận được gì dưới dạng đầu ra, điều đó cho thấy mã của bạn có một số lỗi. Lỗi ở đây là bạn chưa khai báo các biến trước khi sử dụng nó ngay cả sau khi chỉ định câu lệnh Option Explicit.
Bạn cũng có thể khai báo các biến bằng từ khóa công khai và riêng tư như sinh viên công lập hoặc sinh viên tư thục. Tuy nhiên, bạn phải cẩn thận hơn khi sử dụng hai từ khóa này để khai báo biến vì nó sẽ thay đổi phạm vi biến của bạn.
Bạn cũng có thể lưu trữ nhiều giá trị trong một biến duy nhất và các biến đó được gọi là Mảng VBScript biến. Giả sử, bạn muốn lưu trữ thông tin chi tiết như tên, điểm, địa chỉ, v.v. của 30 học sinh. Sẽ rất khó để tạo và quản lý bộ 30 biến cho tên, điểm, địa chỉ, v.v.
Thay vào đó, bạn có thể khai báo một biến có tên là sinh viên và lưu trữ tên của tất cả 30 sinh viên trong biến này. Trong trường hợp đó, bạn sẽ khai báo biến là Dim Students(29) (chỉ số mảng bắt đầu từ XNUMX) và bạn sẽ gán các giá trị là
students(0) = "John" students(1) = "Hannah" students(2) = "Kevin" ....... ....... students(28) = "Rose" students(29) = "Emma"
Tương tự, bạn có thể tạo các biến như điểm, địa chỉ, v.v. để lưu trữ các giá trị tương ứng của tất cả 30 học sinh. Bạn cũng có thể tạo mảng đa chiều có tối đa 60 chiều.
Ví dụ về mã:
Mở trình soạn thảo văn bản và thêm các dòng mã sau.
<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>
Ở đây, chúng tôi chỉ lưu trữ thông tin chi tiết của ba học sinh. Bạn có thể thêm thông tin chi tiết của tối đa 20 học sinh vì chúng tôi đã đặt kích thước của mảng là 20 (vì chỉ số bắt đầu từ 0).
Các kiểu dữ liệu VBScript
Trong phần trước, bạn có thể nhận thấy rằng chúng tôi đã gán các loại dữ liệu khác nhau cho các biến. Chúng tôi đã lưu trữ các số (điểm và mức lương), chuỗi (tên), v.v. trong các biến khác nhau.
Những con số, chuỗi vv này được gọi là loai du lieu. Thực tế, VBScript chỉ có một kiểu dữ liệu duy nhất là Variant. Biến thể là một loại dữ liệu đặc biệt có thể chứa các loại thông tin khác nhau.
Nếu bạn sử dụng Biến thể trong ngữ cảnh số, nó sẽ hoạt động giống như một số và khi bạn sử dụng nó trong ngữ cảnh chuỗi, nó sẽ hoạt động như một chuỗi.
Nói cách khác, khi bạn chỉ định mức lương=10000, VBScript giả định rằng mức lương đó là kiểu dữ liệu số. Biến thể tạo ra sự khác biệt cụ thể về bản chất của dữ liệu. Ví dụ: bạn có thể sử dụng loại biến thể để lưu trữ các giá trị Boolean, tiền tệ, ngày tháng, v.v.
Những loại thông tin khác nhau có thể chứa trong Biến thể được gọi là loại phụ. Mặc dù trong hầu hết các trường hợp, Biến thể hoạt động theo cách phù hợp nhất với dữ liệu chứa trong đó, bạn vẫn nên lưu ý đến các loại phụ khác nhau.
Sau đây là danh sách các Kiểu dữ liệu VBScript.
- Trống: Một kiểu con đặc biệt để biểu thị một biến chưa được gán bất kỳ giá trị nào.
- Null: Một kiểu con đặc biệt để biểu thị một biến được gán giá trị null.
- Số nguyên: Sử dụng 2 byte để biểu thị số nguyên có dấu trong phạm vi -32,768 đến 32,767.
- Dài: Sử dụng 4 byte để biểu thị số nguyên có dấu nằm trong khoảng từ -2,147,483,648 đến 2,147,483,647.
- Đơn: Sử dụng 4 byte để biểu thị số thực ở định dạng dấu phẩy động trong khoảng từ -3.402823e38 đến -1.401298e-45 cho giá trị âm và từ 1.401298e-45 đến 3.402823e38 cho giá trị dương.
- Double: Sử dụng 8 byte để biểu thị số thực ở định dạng dấu phẩy động trong khoảng từ -1.79769313486232e308 đến -4.94065645841247e-324 cho giá trị âm và từ 4.94065645841247e-324 đến 1.79769313486232e308 cho giá trị dương.
- Tiền tệ: Sử dụng 8 byte để thể hiện số thực ở định dạng thập phân nằm trong khoảng từ -922,337,293,685,477.5808 đến 922,337,293,685,477.5807.
- Ngày: Sử dụng 8 byte để biểu thị ngày từ ngày 1 tháng 100 năm 31 đến ngày 9999 tháng XNUMX năm XNUMX.
- Chuỗi: Sử dụng 1 byte cho mỗi ký tự để thể hiện một chuỗi ký tự có thể lên tới khoảng 2 tỷ ký tự.
- Đối tượng: Một kiểu con đặc biệt để thể hiện một tham chiếu đến một đối tượng.
- Lỗi: Một kiểu con đặc biệt để biểu thị số lỗi.
- Boolean: Sử dụng 2 byte để chứa Đúng hoặc Sai.
- Byte: Sử dụng 1 byte để biểu thị số nguyên trong phạm vi từ 0 đến 255.
Có hai tính năng tích hợp Các hàm VBScript giúp bạn biết kiểu con của biến: “varType()” và “typeName()”.
Kiểu var trả về biểu diễn số và typeName() trả về biểu diễn văn bản của kiểu con của biến. Mỗi kiểu con có một biểu diễn số được xác định trước.
Ví dụ về mã
Mở trình soạn thảo văn bản và thêm các dòng mã sau.
<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>
Lưu tệp dưới dạng subtype.html và mở nó trong IE. Đầu ra của bạn sẽ trông như thế này:
LƯU Ý: Bạn cũng có thể khai báo các biến bằng cách sử dụng công khai và riêng từ khóa như sinh viên công lập hoặc sinh viên tư thục. Tuy nhiên, bạn phải cẩn thận hơn khi sử dụng hai từ khóa này để khai báo biến vì nó sẽ thay đổi phạm vi biến của bạn.
Tổng kết
- Các biến được sử dụng để giữ giá trị hoặc biểu thức trong khi lập trình. Các biến phải được khai báo và khởi tạo riêng biệt.
- Mặc dù bạn có thể sử dụng các biến mà không cần khai báo, nhưng việc khai báo các biến trước khi sử dụng chúng được coi là một cách lập trình tốt.
- Biến thể là kiểu dữ liệu duy nhất của VBScript và biến thể có các kiểu con khác nhau bao gồm Chuỗi, Boolean, Số nguyên, Tiền tệ, v.v.
Xử lý sự cố
Trong trường hợp bạn thấy một trang trống sau khi chạy mã, hãy thực hiện như sau
- Nhấn F12 để mở công cụ dành cho nhà phát triển
- Trong thanh công cụ bên trái cuộn xuống cho đến khi bạn thấy trang cài đặt “Thi đua”
- Thay đổi Chế độ tài liệu từ mặc định (“Edge”) thành 10
- Thêm mã sau vào đầu
<meta http-equiv="x-ua-compatible" content="IE=10">