VBScript(一)

visual basic Scripthtml

  好像是以個老掉牙的服務器端腳本語言,低版本的IE瀏覽器支持在瀏覽器裏執行數組

幾個特色瀏覽器

1. 大小寫不敏感服務器

2.在服務器端 inputBox, msgBox不被支持函數

3. 在服務器端 以 <%%> 包裹vbs的代碼 與 html混編oop

4. 使用單引號 ' 註釋 spa

5. 插入到html頁面code

<script type="text/vbscript">
        ....
</script>

 6. 變量命名 最好大駝峯orm

 7. 標準嵌套 縮進4格、 註釋縮進1格htm

1、數據類型

  VBScript有惟一的數據類型   Variant,

  Variant類型有多個子類型

Empty, Null, Boolean, Byte, Integer, Currency, Long, 
Single, Double, Date, String, Object, Error

  VarType獲取子類型     []內爲返回值

Empty:[0] '未初始化的Variant 數字上下文則爲0, 字符串上下文則爲 "";

Null:[1] '沒有任何有效數據;

Integer:[2] '-32768 - 32767之間的整數;

Long:[3] '-2147483648 - 2147483647 整數

Single:[4] '包含單精度浮點數

Double:[5] '包含雙精度浮點數

Currency:[6] '-922337203685477.5805 - 922337203685477.5807

Date:[7] '包含表示日期的數字

String:[8] '包含邊長字符串,最長可20億個字符

Object:[9] '包含對象

Error:[10] '包含錯誤號

Boolean:[11] 'true, false;

Byte:[17] '0 - 255 整數;

Array:[8192] ': 數組

2、變量

  在vbscript中的局部變量叫作(本地變量),全局變量叫作(script變量),局部變量在作用域內有效,當函數執行完釋放。  與js基本相同

 

1. 變量聲明

  聲明的方式有 Dim 、 ReDim、 Public、 Private  

注意 

  在VBScript中 以上聲明不能直接賦值的、聲明多個變量使用 逗號 隔開 且在做用域內必須惟一

Dim Top,Left
Left = "zuo"
Right = "you"

  隱式聲明

  與js類似 未定義就是用的變量,會成爲全局變量

2. 常量聲明

  Const  能夠直接賦值

Const Age = 17

3. 數組  (沒用過數組)

  聲明一維數組

dim name(2)    '建立一個3個變量的  一維數組
name(0) = "weibin"    '數組第0位 賦值 "weibin"
name(1) = "jiahang"
name(2) = "yangming"    

  聲明二維數組

Dim Arr(5,1) ' 建立了一個 6行2列的二維數組
Arr(0, 0) = '00'
Arr(0, 1) = '01'
     ....
     ....

三 、 運算符

求冪: ^
負號: -
乘號: *
除號: /
整除:\
求餘: Mod
加號: +
減號: -
字符串拼接: &
等於: =
不等於: <>
大於:>
小於: <
大於等於: >=
小於等於: <=
對象引用比較: Is
邏輯非: Not
邏輯與: And
邏輯或: Or
邏輯異或: Xor
邏輯等價: Eqv
邏輯隱含:Imp

4、 VBScript程序

1. 子程序 Sub

Sub MySub () 
    ...
End Sub

  封裝在 Sub 和 EndSub內, 執行多條操做但不返回值, 

  調用    使用  函數名加空格加參數   參數以, 分開   或者 call 函數名 (參數1,參數2,...)

2. 函數程序

Function myfun () 
    ...
    myfun = "some return value"    
    '要在結尾 用自身函數名設置返回值
End function    

  又返回值,調用時  要用  函數名(參數)  

五 、 條件語句

1. If ... Then

If I = 10 Then
    MsgBox "i=10 msg out!"
    '....
    '....
End If  
'Then執行多行代碼時結尾要用 end If 表示結束

2. If Then Else

If I = 10 Then
    MsgBox "I = 10 !"
ElseIf I = 9 then
    MsgBox "I = 9 !"
Else
    MsgBox "not 10 and not 9! "
End If

3.Select Case

Select Case direction
    Case "up"
        msgbox "north"
    Case "right"
        msgbox "east"
    Case "left"
        msgbox "west"
    Case Else
        msgbox "south"
End select

6、 循環語句

  1. For ... Next 

For i = 1 to 10 Step 2
    ......
Next
  Next 的步長默認爲1,默認步長爲1時可不寫Step,
  當要更改步長的時候則須要 設置 Step 且 step 能夠爲負數

  2. for each

dim names(2)
name(0) = "weibin"
name(1) = "yangming"
name(2) = "wujiamei"

for each x in names
    document.write(x & '<br/>')
next

  3. do while ...loop

dim i
i = 0    
do while 1 < 10
    document.write(i & "<br>"")
    i = i + 1
loop

  4. do until

Sub doUntil()
    dim i, times
    i = 0
    times = 0
    do until i = 10
        i = i + 1
        times = times + 1
    loop
    msgbox"循環了" & times & "次!"
End Sub
doUntil        '調用sub

7、 IE中的VBScript

  1.綁定事件

  定義 name/id _ 事件類型 的 過程 就會給與 name/id 相對應的DOM綁定事件, 且事件基本和js相同
<input type="button" name="btn" value="sayHello!">
<script type="text/vbscript">
    sub btn_onclick
        document.write("hello world!")
    end sub
</script>

   另外一種方法 在行間直接 事件=過程

<div onclick='msgbox "hello world!"'>clickMe!</div>

  2. 獲取表單值

  document.forms("id/name")* 獲取form表單對象,
<form id="formList" onsubmit="getFormData()">
    <input type="text" name="inp" id="inpt">
    <input type="submit" name="sub" value="send">
</form>
<script type="text/vbscript">
    sub getFormData
        dim    formList
        set formList = document.forms("formList")

        if isnumeric(formList.inpt.value) then
            document.write("is number")
        else
            document.write("is not number")
        end if
    end sub
</script>

  3.建立對象

<OBJECT
   width=250
   height=250
   align=left
>
<PARAM NAME="Angle" VALUE="90">
<PARAM NAME="Alignment" VALUE="4">
<PARAM NAME="BackStyle" VALUE="0">
</OBJECT>
相關文章
相關標籤/搜索