• VBScript(一)


    visual basic Script

      好像是以个老掉牙的服务器端脚本语言,低版本的IE浏览器支持在浏览器里执行

    几个特点

    1. 大小写不敏感

    2.在服务器端 inputBox, msgBox不被支持

    3. 在服务器端 以 <%%> 包裹vbs的代码 与 html混编

    4. 使用单引号 ' 注释 

    5. 插入到html页面

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

     6. 变量命名 最好大驼峰

     7. 标准嵌套 缩进4格、 注释缩进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] ': 数组

    二、变量

      在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

    四、 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

    六、 循环语句

      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

    七、 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>
  • 相关阅读:
    为什么linux有足够的内存还进行swap?
    vmstat命令的使用
    Windows远程服务器不能复制粘贴
    Windows可以ping通百度,但是用浏览器打不开网页
    java形式参数分别是基本类型和引用类型的调用
    Ubuntu16.04安装Python3.6 和pip
    Python2/3共存,pip2/3共存
    multiprocessing模块
    Python-进程与线程
    鼠标不能动,插上了但没反应
  • 原文地址:https://www.cnblogs.com/96weibin/p/9600609.html
Copyright © 2020-2023  润新知