VBScript 基础知识

一、变量

1、全部单引號后面的内容都被解释为凝视。(在vbsedit中ctrl+m凝视,反凝视ctrl+shift+m)

2、在 VBScript 中,变量的命名规则遵循标准的命名规则,须要注意的是:在 VBScript 中对变量、方法、函数和对象的引用是不区分大写和小写的。在申明变量时,要显式地申明一个变量,须要使用keyword DIm 来告诉 VBScript 你要创建一个变量,并将变量名称跟在其后。申明多个同类型变量,能够用逗号分隔。注意:VBScript
中不同意在申明变量的时候同一时候给变量赋值。可是同意在一行代码内同一时候对两个变量进行赋值,中间用冒号分隔。

3、你能够使用 Option Explicit 来告诉宿主变量必须先声明后使用。

4、VBScript 在定义时仅仅有一种变量类型,在实际使用中须要使用类型转换函数来将变量转换成对应的变量类型。

Cbool 函数将变量转换成布尔值;

Cbyte 函数将变量转换为 0 到 255 之间的整数。

Ccur 函数、Cdbl 函数和 Csng 函数将变量转换为浮点数值,前者仅仅精确到小数点后四位,后两者要更加精确,数值的范围也要大的多。


Cdate 函数将变量转换为日期值。

Cint 函数和 Clng 函数将变量转换为整数,后者的范围比前者要大的多。

Cstr 函数将变量转换为字符串。

二、数组

数组的定义与变量很类似,仅仅须要在变量后描写叙述这个数组的个数和维数。须要注意的是:数组的下标总是从 0 開始,而以数组定义中数值减一结束。也就是说你以要定义一个有十个数据的数组,将这样书写代码: dIm array (9),相同,当你要訪问第五个元素时,实际的代码是 arr ay(4)。当然,你能够通过不指定数组的个数和维数来申明动态数组。等到数组的个数和维数固定后,使用keywordredim 来改变数组。注意,在改变数组的大小时,数组的数据会被破坏,使用keyword
preserve 来保护数据
。

比如:

RedIm 空格 preserve 空格 array 括号个数逗号维数括号

三、操作符

在 VBScript 运算符中,加减乘除都是我们经常使用的符号,乘方使用的是 ^ ,取模使用的 Mod。在比較操作符中,等于、小于、大于、小于等于、大于等于都与我们经常使用的符号是一致的,而不等于是小于和大于连用。

逻辑运算符为:和操作—>AND 非操作—>NOT 或操作—>OR;

你能够使用操作符 + 和操作符 & 来连接字符串,一般使用&操作符;

另外另一个比較特殊的操作符 Is 用来比較对象,比如button对象,假设对象是同一类型,结果就是真,假设对象不是同一类型,结果就是假。

四、条件语句

主要有 if……then 语句和 selectcase 语句两种形式

在 if……then 语句中,其基本形式为:

If 条件 then

处理条件的语句;

……

Endif

基本形式仅仅能对单个条件进行验证,假设有两个条件,则须要在基本形式中加入单行语句 else ,假设还有很多其它的条件须要验证,则须要加入语句Elseif 条件 then处理条件语句

在 selectcase 语句中,其基本形式为:

Select case 变量

Case 条件值

处理条件语句

并对上两句进行反复

最后一句应为

case else


处理语句

当然不要忘记将条件结束语句 End select 放在最后一行

注意:在运行字符串比較时,须要特别注意大写和小写,普通情况下,我们在比較前,使用 lcase函数将字符串转换成小写,使用 ucase 函数将字符串转换成大写大写。

五、循环控制语句

循环控制语句有 for ……next 循环、 for ……each 循环、 do……while 循环、 do……until 循环、 while循环五种形式。

在使用循环控制语句前,首先要对循环条件进行推断,假设循环次数是有固定次数的,那么使用 For……next 循环,其结构为:

For 计数器变量=開始计数值 to 最后计数值

运行循环体

Next

假设是须要对数组或对象集合中的每个元素进行推断,则须要使用 for ……each 循环,其结构为:

For each 循环计数变量 in 要查看的对象或数组

运行处理语句

Next

注意:在上述两种循环中随时能够使用 exit for 来退出循环

假设你希望在条件满足时运行一段代码则使用 do……while 语句,结构为:

Do while 条件

运行循环体

Loop

假设你希望在条件不满足时运行代码,则使用 do……until 语句,结构为:

Do until 条件

运行循环体

Loop

当然,在这两种循环语句中,你能够使用 exit do 来退出循环最后一种循环语句是条件满足时一直运行循环,

While 条件

运行循环体

Wend

六、使用过程

经常使用的过程有两种,一种为函数,给调用者返回值,一种为子程序,无返回值,另一种叫事件的特殊子程序,用的比較少。

函数的基本定义方法为:

Function 函数名称(參数列表)

函数代码

函数名称=某值 ‘用来返回值

end function

子程序一些都类似,只是没有返回值

注意:虽然在定义子程序的时候,參数列表要加括号,但在调用子程序的时候,參数列表不加括号,括号仅仅在函数中使用。另外,子程序不能在表达式中使用。而函数仅仅能出如今赋值语句的右边,或者表达式中,函数不能直接使用,假设必须直接使用函数,则必须使用
call 语句调用,并取消返回值
。

VBS学习日记(二) 基础知识的更多相关文章

  1. pwn学习日记Day7 基础知识积累

    知识杂项 strncpy(char s1,const char s2,int n); 其中有三个参数分别表示目标字符串s1,源字符串s2,拷贝长度.意思是将s2指向的字符串的前n个长度的字符放到s1指 ...

  2. pwn学习日记Day5 基础知识积累

    知识杂项 int mprotect(const void *start, size_t len, int prot); mprotect()函数把自start开始的.长度为len的内存区的保护属性修改 ...

  3. pwn学习日记Day3 基础知识积累

    知识杂项 msfVENOM:Msfvenom是msf框架配套的攻击载荷生成器. payload:有效载荷. payload:目标系统上渗透成功后执行的代码. Metasploit:一款开源的安全漏洞检 ...

  4. pwn学习日记Day9 基础知识积累

    知识杂项 libc是Linux下的ANSI C的函数库. LOOKUP函数 数组形式:公式为= LOOKUP(lookup_value,array) 式中 array-包含文本.数字或逻辑值的单元格区 ...

  5. pwn学习日记Day8 基础知识积累

    知识杂项 aslr:是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术 ...

  6. pwn学习日记Day6 基础知识积累

    知识杂项 ELF:在计算机科学中,是一种用于二进制文件.可执行文件.目标代码.共享库和核心转储格式文件. char fgets(char buf, int bufsize, FILE stream); ...

  7. pwn学习日记Day2 基础知识积累

    知识杂项 shell-storm.org的shellcode数据库 使用pwntools库把shellcode作为输入传递给程序,尝试使用io.interactive()与程序进行交互,发现可以执行s ...

  8. pwn学习日记Day1 基础知识积累

    ida / od 窗口(针对od操作) 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址.HEX 数据.反汇编.注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进 ...

  9. pwn学习日记Day4 基础知识积累

    知识杂项 *:字符串重复 空指令NOP:\x90 cmp:是比较指令,cmp的功能相当于减法指令.它不保存结果,只是影响相应的标志位. xor:将两个操作数进行异或运算,并将结果存放到操作数1中. s ...

  10. 如何学习FPGA?FPGA学习必备的基础知识

    如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...

随机推荐

  1. C语言结构体的字节对齐原则

    为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据 ...

  2. 9.11 Binder系统_分层

    1.Binder系统过程分析,情景分析 server提供服务 (1)addService(服务名称,xxx)执行后会导致binder驱动在server的内核空间为服务创建一个binder_node结构 ...

  3. AE地图查询

    原文 AE地图查询 地图查询主要有两种查询:空间查询和属性查询 所用到知识点: 1  Cursor(游标)对象 本质上是一个指向数据的指针,本身不包含数据内容,提供一个连接到ROW对象或者要素对象(F ...

  4. 一次性能优化将filter转换

    有一条SQL性能有问题,在运行计划中发现filter.遇到它要小心了,类似于nestloop.我曾经的blog对它有研究探索运行计划中filter的原理.用exists极易引起filter. 优化前: ...

  5. PHP解决约瑟夫环问题

    PHP解决约瑟夫环问题 一.总结 二.PHP解决约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到 ...

  6. [array] leetCode-1-Two Sum-Easy

    leetCode-1-Two Sum-Easy descrition Given an array of integers, return indices of the two numbers suc ...

  7. aspcms产品详情页调取相关产品

    产品详情页调用相关产品最常见的应用就是装饰公司网站,设计师页面要求调取设计师做过的案例.aspcms本身有这个功能,但不能完全符合要求,看代码 {aspcms:content sort={aspcms ...

  8. 【t086】防护伞

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 据说2012的灾难和太阳黑子的爆发有关.于是地球防卫小队决定制造一个特殊防护伞,挡住太阳黑子爆发的区域 ...

  9. ArcGIS IQueryFilter接口

    樱木  原文IQueryFilter 1.IQueryFilter::SubFields (1)默认值为“*”,即查询时返回整行数据,如果只需要某一个字段数据(比如“Country”字段),则可以指定 ...

  10. Spring的事务管理和数据库事务相关知识

    1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱.         比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱. ...