Data types
انواع مختلفی از داده ها وجود دارند 
Integer
یک عدد صحیح می باشد.
دو نوع داده با Integer وابستگی دارند .
byte, long .
long می تواند اعداد بزرگتر از محدوده integer را در خود ذخیره نماید.
یک byte کوچکتر می باشد.
اعداد اعشاری یا Floating-point numbers
اعداد اعشاری اعداد decimal می باشند .
توجه به این نکته مهم می باشد که اعداد ممیز شناور و اغلب گرد شده یا بریده می شوند تا به اندازه فضایی شوند که به آنها اختصاص داده شده است .
نوع داده أی single , double به اعداد ممیز شناور ، اختصاص داده شده اند فرق بین این دو دقت اعدادی که در خود ذخیره می کنند می باشند در نوع داده double دو برابر single حافظه لازم دارید اما بدیهی است که محدوده اعداد بزرگتر را می تواند در خود نگهداری کند و همچنین دقت بیشتری نسبت به single دارد
رشته String
یک رشته می تواند زنجیره أی از حروف ، اعداد، و نشانه ها را در داخل خود نگهداری کند.
اطلاعات Data 
 یک ویژگی مفید Vbscript که در دیگر زبانهای برنامه نویسی وجود ندارد مدیریت اطلاعات می باشد .
اگر چه می توان داده ها را به صورت رشته ها یا اعداد نمایش داد ولی استفاده از این متغیر داده أی می تواند زمان یا تاریخ و اطلاعات متنوع توابع تاریخ Vbscript و عملگرهایی که فرمت و اطلاعات مربوط به تاریخ را چاپ می نمایند را نگهداری کنند.
Boolean
یک متغیر boolean مقادیر درست یا غلط را در خود نگهداری می کند.
نوع داده Currency
یک عدد دقیق که تنها برای ذخیره مقادیر پولی به خوبی کار خواهد کرد اما Vbscript یک نوع داده مخصوص برای پول مهیا می کند که با چندین تابع ویژه Vbscript کار می کند .
Object
این قسمت به اشیاء مخصوص اشاره دارد در مارکردن با عملگرهای مربوطه به پایگاه های داده استفاده می شود.
Variant Vciriables
در بیشتر زبانهای برنامه نویسی یک فرقی باید بین متغیرهای داده های مختلف وجود داشته باشد.
یک متغیر که برای نگهداری رشته ها استفاده می شود بعداً برای نگهداری یک عدد نمی تواند مورد استفاده قرار بگیرد البته این موضوع در زبان Vbscript صادق نمی باشد.
Vbscript از Variant Vciriables هایی استفاده می کند که متغییرهایی هستند که شامل مقادیری از هر نوع می تواند باشد.
مقدار دادن به یک متغیر
در تعدادی از زبانهای برنامه نویسی قبل از اینکه شما از متغییرها استفاده کنید باید به سیستم اعلام نمایید که از چه نوعی از داده می خواهید در داخل متغیر استفاده کنید و چه کاری با آن متغیر می خواهید انجام دهید.
برای مثال در زبان برنامه نویسی c++ شما باید بگویید که
 int my-variable;
my-variable = 2;
Vbscript همه چیز را کمی ساده تر می کند در Vbscript لازم نیست که نوع متغیر را یعنی char, real, integer یا هر نوع متغیری را که ایجاد می کنید تعیین نمایید.
در Vbscript همه متغیرها به وسیله کلمه کلیدی dim تعریف می گردند این بدین خاطر است که در Vbscript از variant variables ها استفاده می گردد .
بنابراین جمله معادل برای آن چیزی که در c++ توصیف شد عبارت زیر است 
Dim my_variable
در اینجا در اولین خط my_variable به عنوان متغیر توصیف گشته است بدون اینکه my_variable را به عنوان یک متغیر از نوع integer تعیین نماییم.
حتی خط اول ابداً لزومی ندارد در Vbscript استفاده از خط دو بدون اینکه اشاره أی به my_variable شود به سادگی قابل قبول می باشد به این کار implicit declaration می گویند.
از dashes,perrids,Spaces استفاده نکنید .
استفاده از هر کدام از موارد ذکر شده در نام متغیرتان یک پیغام خطا را ایجاد می کنند در عوض اگر شما می خواهید چیزی را گسترش دهید سعی کنید از علامت (_) استفاده نمایید برای مثال my_first_variable یک نام متغیر است در صورتی که my first variable چنین نمی باشد.
نامهای متغیر ها باید با یک حرف شروع شوند Underscore و اعداد می توانند در داخل نامهای متغیرتان تعریف گردند اما نه به عنوان کاراکتر اول.
 نامهای متغیر ها باید با یک حرف شروع شوند Underscore و اعداد می توانند در داخل نامهای متغیرتان تعریف گردند اما نه به عنوان کاراکتر اول.
نام متغیرها نباید طولانی تر از 255 کاراکتر باشد.
از کلمات کلیدی به عنوان متغیرها استفاده نکنید.
از نام متغیرها دوباره استفاده ننمایید شما می توانید از نام متغیرها دوباره استفاده نمایید فقط آگاه باشید که شما نمی توانید از همان نام برای دو متغیر مختلف استفاده نمایید.
همان طوری که پیش از این ذکر گردید پیش از این ذکر گردید Vbscript از variant variable ها استفاده می نماید که با وجود آنها شما دیگر نیازی برای ساختن یک متغیر مخصوص برای یک نوع داده را ندارید.
آنها کدهای شما را برای خواندن دیگران ساده تر می نمایند اما بهتر از آن اینکه آنها چیزهایی را برای شما که می خواهید بنویسید راحتتر می نمایند.
استفاده از نامهای توصیفی بیشتر برنامه نویسان سعی می کنند که به وسیله استفاده از یک حرف برای نام متغیرها کمتر تایپ نمایند .
تصور نمایید که شما در خال خواندن 100 خط از کدها می باشید و به یک خطی مثل x=5 برخورد می نمایید این عبارت به چه معنی می باشد؟
حرف x چیست ؟
آیا یک متغیر از نوع رشته أی می باشد که می خواهید اسم کاربر را در خود نگاه دارد که در آن صورت نامی مانند strUserName را باید به کار ببرید اگر آن یک رشته را نگاه می دارد که حقوق اشخاص می باشد باید آن را syssalary بنامیم .
تمام متغیرها را در ابتدای برنامه تعریف نمایید اگر حتی بعد از استفاده از نامهای مناسب شما در به یادآوری نام یک متغیر به خصوص دچار مشکل شدید بهتر است بدانید که کجا می توانید آن متغیر را پیدا کنید بیشتر زبانها از این واقعیت استفاده می نمایند.
ثابتها Constants یک ثابت متغیری می باشد که شما به آن یک نام داده اید و یک data را در آن ذخیره کرده اید .
برعکس متغیرها ،ثابتها وقتی که آنها را تعریف می کنید ، یک مقدار می گیرند و آن مقدار دیگر تغییر داده نمی شود.
Vbscript چندین ثابت پیش ساخته برای خود دارد.
آرایه ها یک نوع دیگر از داده ها وجود دارند که شما هنوز به آنها برخورد نکرده اید یک متغیر آرایه أی ، مجموعه أی از متغیرها می باشند با داشتن یک نام ، اما به وسیله یک اندیس تشخیص داده می شوند.
آرایه ها برای گروهی از داده ها که از یک نوع می باشند استفاده می شوند.
چگونه نوع متغیرها را مشخص می کنید ؟
دو تابع در هنگام data type که در داخل متغیرها ذخیره می گردند سودمند می باشند اولین آنها vartype می باشد که به صورت زیر مورد استفاده قرار می گیرد.
Vartype (variable-name) تابع vartype یک کد عددی را بر می گرداند که مطابقت داشتن با نوع داده را مشخص می کند .
تابع دوم که قشنگتر از اولی است تابعی به نام typename می باشد .
typename یک رشته را بر می گرداند که نام نوع داده أی است که به عنوان یک کد استفاده می شود و مانند تابع vartype استفاده می گردد مقادیر برگشتی از تابع typename و منظور آنها در جدول 3-3 لیست شده است.
انواع کنترل ها سه نوع اصلی از ساختارهای کنترلی در برنامه نویسی مورد استفاده قرار می گیرند.
آنها اجازه کنترل کردن را به ما می دهند تا دستورات را هر چند بار که می خواهیم اجرا کنیم.
استفاده ی بجا از این ساختارهای کنترلی برای یک برنامه نویس به عنوان یک مهارت محسوب می گردد خوشبختانه منطق پشت این ساختارها بسیار واضح می باشد.
1 ـ منطق شرطی 2 ـ منطق حلقه ها 3 ـ منطق انشعابی یا Branching logic IF –Then statement جمله if … then یکی از معمولترین ساختارهای کنترلی می باشد.
شکا دستوری آن بصورت if condition Then code block End if If … then …..
else statement گاهی اوقات مفید است که یک قطعه از کد فقط وقتی اجرا گردد که شرط ما غلط است .
شما می توانید با اضافه کردن یک عبارت else به ساختار if … then این کار را انجام دهید.
If condition then Code block 1 Else Code block 2 End if ElseIf statement عبارت elseIf ساختارهای if های تو در تو را ساده تر می سازد برای مثال به عبارت if در مثال زیر توجه نمایید : if condition then code block 1 else if condition2 then code block 2 can be changed to this: if condition 1 then code block 1 ElseIf condition 2 then Code block 2 … تابع ElseIf به عنوان یک ترکیب از if و else می باشد دو چیز را هنگامی که از تابع else if استفاده می کنید در نظر داشته باشید.
تابه ElseIf بعد از یک Else قرار نمی گیرد .
شما می توانید از ElseIf به صورت تکراری استفاده نمایید.
اما عبارت ElseIf را بعد از Else نباید استفاده کنید .
ElseIf نیازی به end if ندارد اما عبارت if اصلی به endif نیاز دارد کنترل های منطقی حلقوی منطق حلقه یک بلوک از کدها را به صورت تکراری اجرا می نماید ابیته تا وقتی که شرط معینی اتفاق بیفتد یا هنگامی که شروط معینی درست باشند.
عبارات Do … loop Do ….
Loop یکی از دو شکل را می تواند داشته باشد شکل اول do while … loop یک بلوک از کد را تا هنگامی که شرط معینی درست باشد اجرا می کند.
نوع دوم do until … loop یک بلوک از کد را تا وقتی که به یک شرط معین برسد اجرا می کند.
Do while … loop شکل عبارت do while … loop به صورت زیر می باشد.
Do while condition Code block Loop کد بلوک تا زمانی که شرط درست است اجرا می گردد اگر شرط نادرست باشد برای بار اول عبارت do اجرا می گردد اما حلقه هیچگاه اجرا نمی گردد.
مثال زیر اعداد 1 تا 10 را با استفاده از Do while … loop می شمارد.
Icount =1 Do while icount Response.
write (icount) Icount = icount + 1 LOOP عبارتهای Do until … loop عبارت do until … loop بسیار شبیه عبارت Do while ….
Loop می باشد تنها فرق آن با do while … loop در این است که در Do until … loop حلقه تا زمانی اجرا می گردد که شرط true شود نه false هرکاری که یکی از آنها می تواند انجام دهد حلقه نوع دوم نیز می تواند انجام دهد تنها فرق در این است که آیا شرط به صورت مثبت نوشته شده است یا خیر ؟
شمارنده تا 10 (فقط زیر) یک اسکریپت می باشد که در آن از حلقه Until به جای while استفاده شده است.
Dim icount Icount =1 Do Until icount > 10 Response.
write (icount) % > Icount = icount + 1 LOOP %> عبارتهای While …Wend عبارت While … wend همانند Do while… loop می باشد این دستور زبان به خاطر اینکه برای بیشتر برنامه نویسان آشنا می باشد آورده شده است.
به جای do while کلمه while و به جای عبارت loop کلمه wend قرارداده شده است.
با این وجود while… wend دقیقا همان کار do while … loop را انجام می دهد.
عبارتهای for… next حلقه for … next وقتی استفاده می شود که تعداد دفعات اجرای کد مشخص می باشد .
این حلقه یک بلوک کد را به تعداد دفعات معینی اجرا می کند.
شکل زیر یک حلقه for … next می باشد.
For counter-variable = start-value to stop-value step step-value Code block next متغیر counter-variable یک متغیر عددی می باشد که تعداد دفعات اجرای حلقه را نگاه می دارد.
Start-value اولین مقداری است که متغیر counter-variable می گیرد .
در اولین گذر در داخل حلقه مقدار counter-variablr برابر با مقدار start-value می باشد دفعه بعدی مقدار آن برابر با start-value + step-value می شود.
با توجه به اینکه step-value مقدار مثبتی است حلقه تا آنجایی اجرا می گردد که مقدار counter-variable بزرگتر از stop-value شود در هر بار اجرای حلقه مقدار متغیر counter-variable با step-value جمع می گردد.
شما می توانید برنامه شمارنده ساده أی را با حلقه for… next بنویسید.
For icount = 1 to 10 step 1 Response.write (icount) Loop عبارتهای for each … next ساختار for each … next برای تکرار کردن هر عنصر در یک گروه مورد استفاده قرار می گیرد فرض کنید که یک آرایه از نام کاربران دارید و می خواهید هر نام را بر روی صفحه نمایش چاپ کنید یکی از راه حل ها استفاده از for … next و یک شمارنده می باشد for icount = 0 to arraysize response.write (arrusernames (icount)) next برای یک راه حل دیگر می توان از for each … next استفاده نمود.
For each strnames in arrusernames Respons.write(strnames) next برای موضوعات کم اهمیتی فرق زیادی نمی کند