VBS的基础语法

VBS基础语法

比较简略,适合有语言基础的看

简介

VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行

开发工具

我选择的是notepad++

测试第一个程序-输入并回显一个名字

REM 输入并回显你的名字 
'使用InputBox和Msgbox函数 
'(上面及本行可以不必写入源代码中,下面才是运行的代码) 
Dim name,msg 
msg="请输入你的名字:"
name=Inputbox(msg) 
Msgbox name

REM和’用于注释

Dim 用于声明一个变量,VBS会自动识别变量类型

Inputbox用于输入,Msgbox用于消息弹框

变量

  • 规则

    1. 必须以字母开头
    2. 不能包含点号(.)
    3. 不能超过 255 个字符
  • 创建变量

    可以使用Dim,Public,Private声明,如

    Dim x

    也可以在使用的途中创建如

    name = "xxx"

    这样就直接创建了一个变量

    如果使用 Option Explicit 语句,就必须使用 dim、public 或 private 语句来声明所有的变量,如

    Option Explicit
    Dim carname
    carname=some value
    
  • 数组

    • 一维数组

      这里例子声明了一个包含3个元素的数组

      Dim names(2)

      其余基本操作和一般语言的类似

    • 二维数组

      该例子声明了一个5行7列的二维数组

      Dim table(4,6)

常量

  • 定义常量

    const PI=3.1415926

基本语句

条件

  • If statement - 在条件为 true 时执行一系列的代码,可以使用这个语句

  • If…Then…Else 语句 - 执行两套代码其中之一,可以使用这个语句

    只有一条语句时,可以写成一行

    If i=10 Then alert("Hello")

    如果需要执行多行语句,需要使用end if来结束语句

    If i=10 Then
    	alert("Hello")
    	i = i+1
    Else
        alert("Shit!")
    End If
    
  • If…Then…ElseIf 语句 - 选择多套代码之一来执行,可以使用这个语句

    If i=10 Then
    	alert("Hello")
    	i = i+1
    Elseif i=11 then
        alert("Shit!")
    End If
    
  • Select Case 语句 -选择多套代码之一来执行,可以使用这个语句

    Select Case d
    Case 1
    document.write("Sleepy Sunday")
    Case 2
    document.write("Monday again!")
    Case 3
    document.write("Just Tuesday!")
    Case 4
    document.write("Wednesday!")
    Case 5
    document.write("Thursday...")
    Case 6
    document.write("Finally Friday!")
    Case else
    document.write("Super Saturday!!!!")
    End Select
    

循环

  • For…Next 语句 - 运行一段代码指定的次数

    For 语句规定计数变量(i)以及它的初始值和结束值。Next 语句会以 1 作为步进值来递增变量(i

    For i = 0 To 5
    document.write("The number is " & i & "
    ") Next

    通过 Step 关键词,可以规定计数变量递增或递减的步进值

    '递增
    For i=2 To 10 Step 2
    some code
    Next 
    '递减
    For i=10 To 2 Step -2
    some code
    Next 
    

    退出For…Next

    可以通过 Exit For 关键词退出 For…Next 语句。(类比break)

    For i=1 To 10
    If i=5 Then Exit For
    some code
    Next 
    
  • For Each…Next 语句 - 针对集合中的每个项目或者数组中的每个元素来运行某段代码

    For Each…Next 针对集合中的每个项目或者数组中的每个元素来重复运行某段代码。

    Dim cars(2)
    cars(0)="Volvo"
    cars(1)="Saab"
    cars(2)="BMW"
    
    For Each x In cars
    document.write(x & "
    ") Next
  • Do…Loop 语句 - 运行循环,当条件为 true 或者直到条件为 true 时

    Do…Loop 语句重复执行某段代码直到条件是 true 或条件变成 true。

    可以使用 While 关键字来检查 Do… Loop 语句的条件

    Do While i>10
    some code
    Loop
    '类比while和do while
    Do
    some code
    Loop While i>10 
    

    可以使用 Until 关键字来检查 Do…Loop 语句的条件

    Do Until i=10
    some code
    Loop
    '
    Do
    some code
    Loop Until i=10 
    

    可以通过 Exit Do 关键词退出 Do…Loop 语句

    Do Until i=10
    i=i-1
    If i<10 Then Exit Do
    Loop 
    
  • While…Wend 语句 - 不要使用这个语句 - 请使用 Do…Loop 语句代替它

子程序

  • 规则

    • 是一系列的语句,被封装在 Sub 和 End Sub 语句内
    • 可执行某些操作,但不会返回
    • 可带有参数

    Sub mysub()
    some statements
    End Sub
    '或
    Sub mysub(argument1,argument2)
    some statements
    End Sub
    

函数

  • 规则

    • 是一系列的语句,被封装在 Function 和 End Function 语句内
    • 可执行某些操作,并会返回
    • 可带有通过程序调用来向其传递的参数。
    • 如果没有参数,必须带有空的圆括号 ()
    • 通过向函数程序名赋值的方式,可使其返回值

    Function myfunction()
    some statements
    myfunction=some value
    End Function
    '或
    Function myfunction(argument1,argument2)
    some statements
    myfunction=some value
    End Function
    
  • 调用

    Call MyProc(argument)

    省略

    MyProc argument

参考

参考链接1

参考链接2

你可能感兴趣的:(编程语言)