JavaScript
|
VBScript
|
// This is a comment.
/* Multi-line
comment. */
|
‘This is a comment.
Rem So is this. No multi-line comments.
|
Variables, Constants, and Arrays
|
var x, y
var z = 10
No way to force variables to be declared
No constants
var Vector = new Array(10)
var Names = new Array()
var Matrix = new Array(4)
Matrix[0] = new Array(5)
Vector[9] = 1.5
Matrix[1][4] = 2
|
Dim x, y
Dim z ‘ Can’t assign on same line
z = 10
‘Force all vars to be declared before being used.
Option Explicit
Const PI = 3.14
Dim Vector(9) ‘ 9 is last slot
‘ Can’t do this – arrays must have upper bound
Dim Matrix(3, 4)
Vector(9) = 1.5
Matrix(1, 4) = 2
|
Output
|
str = " there!"
document.write("hello" + str)
document.writeln("good\nbye")
Response.Write(str) ‘Server-side
<%= str %> ‘Another way
alert("message") // Client-side
|
str = " there!"
document.write "hello" & str
document.writeln "good" & vbCr & "bye"
Response.Write str ‘Server-side
<%= str %> ‘Another way
MsgBox "message" ‘Client-side
|
Functions
|
function Add(a, b)
{
return a + b
}
Variable are always passed by value.
Only objects can be passed by reference.
sum = Add(1, 2)
|
Function Add(ByVal x, ByVal y)
Add = x + y
End Function
Sub Add2(ByVal x, ByVal y, ByRef ans)
ans = x + y
End Sub
sum = Add(1, 2)
Add2 1, 2, sum ‘No () for Sub params
Call Add2(1, 2, sum) ‘Alternate call
|
Decisions
|
if (score == 100)
alert("Great!")
if (a == 1 || a == 5)
{
vector[a] = b
c = 1
}
else if (a == 2)
b--
else
b *= 2
switch(x)
{
case 1: str = str + "end"
break
case 2:
case 3: y = y * y * y
break
default: z = z / 2
}
|
If score = 100 Then _
MsgBox "Great!"
If a = 1 Or a = 5 Then
vector(a) = b
c = 1
ElseIf a = 2 Then
b = b - 1
Else
b = b * 2
End If
Select Case x
Case 1
str = str & "end"
Case 2, 3
y = y ^ 3
Case 4 To 10
‘4 <= x <= 10
Case Is >= 25
‘x >= 25
Case Else ‘Default
z = z \ 2
End Select
|
Loops
|
for (i = 1; i <= 5; i++)
document.writeln(i)
for (c = 2; c <= 10; c += 2)
a += c
for (var index in myArray)
document.write(myArray[index])
while (a < 10)
a++
do
a++;
while (a < 10)
|
For i = 1 To 5
document.writeln i
Next
For c = 2 To 10 Step 2
a = a + c
Next
Dim element
For Each element in myArray
document.write element
Next
Do While a < 10 Do Until a = 10
a = a + 1 a = a + 1
Loop Loop
Do Do
a = a + 1 a = a + 1
Loop While a < 10 Loop Until a = 10
|
Arithmetic Operators
|
+ - * /
% (mod)
|
+ - * /
\ (integer division)
Mod
^ (raising to a power)
|
Relational Operators
|
< <= > >= == !=
|
< <= > >= = <>
|
Logic Operators
|
&& || !
|
And Not Or Xor
Eqv (Equivalent)
Imp
|
Bitwise Operators
|
& ~ | ^ << >>
|
And Not Or Xor (no shift left/right)
|
Strings
|
var x
x = "HU"
x = x + " is great!"
|
Dim x
x = "HU"
x = x & " is great!"
|
VBScript String Functions
|
Function |
Description |
Example |
StrConv |
Used primarily to change the case of letters in the string. Can also do UNICODE and other format changes.
|
x = StrConv("Test", vbUpperCase) --> “TEST”
|
UCase, LCase
|
Returns string converted to uppercase/lowercase.
| x = UCase(“Test”) --> “TEST”
|
Len
| Returns the string length.
| length = Len(“a”) + Len(x) --> 1 + 4
|
LSet, RSet
| Justifies chars in fixed-length string to left or right side.
| RSet y = “right” --> “ right”
|
Left, Right
| Returns the specified number of chars from left-hand or right-hand side of string.
| x = Left(“Harding”, 4) --> “Hard”
|
Mid
| Returns substring from a search string.
| x = Mid(“I love you.”, 3, 4) --> “love”
|
LTrim, RTrim, Trim
| Returns a copy of the string with leading, trailing, or both leading and trailing spaces removed.
| x = LTrim(“ <-trim-> “) -->“<-trim-> ”
x = Trim(“ <-trim-> “) --> “<-trim->”
|
StrComp
| Compares 2 strings. Returns –1 if str1 < str2, 1 if str1 > str2, 0 if strings are equal.
| r = StrComp(“HU”, “ACU”) --> 1
|
InStr
| Searches a string for a substring and returns the integer position if found, 0 if not found.
| r = InStr(1, “To be or not to be”, “be”) --> 4
|
Asc, AscW
| Asc returns ASCII value of given string. AscW returns UNICODE value.
| n = Asc(“A”) --> 65
n = AscW(“A”) --> 65
|
Chr
| Returns string equivalent of given ASCII value.
| c = Chr(65) --> “A“
|
Str
| Converts a number to a string.
| x = Str(459) --> " 459"
|
Split
| Returns an array of substrings produced from splitting a string based on a delimeter.
| myArray = Split("IxLovexVBScript!", "x")
‘myArray(0) --> “I”
‘myArray(1) --> “Love”
‘myArray(2) --> “VBScript!”
|
StrReverse
| Returns a reversed string.
| x = StrReverse("VBScript") --> "tpircSBV"
|
|