VBS学习日记(二) 基础知识
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学习日记(二) 基础知识的更多相关文章
- pwn学习日记Day7 基础知识积累
知识杂项 strncpy(char s1,const char s2,int n); 其中有三个参数分别表示目标字符串s1,源字符串s2,拷贝长度.意思是将s2指向的字符串的前n个长度的字符放到s1指 ...
- pwn学习日记Day5 基础知识积累
知识杂项 int mprotect(const void *start, size_t len, int prot); mprotect()函数把自start开始的.长度为len的内存区的保护属性修改 ...
- pwn学习日记Day3 基础知识积累
知识杂项 msfVENOM:Msfvenom是msf框架配套的攻击载荷生成器. payload:有效载荷. payload:目标系统上渗透成功后执行的代码. Metasploit:一款开源的安全漏洞检 ...
- pwn学习日记Day9 基础知识积累
知识杂项 libc是Linux下的ANSI C的函数库. LOOKUP函数 数组形式:公式为= LOOKUP(lookup_value,array) 式中 array-包含文本.数字或逻辑值的单元格区 ...
- pwn学习日记Day8 基础知识积累
知识杂项 aslr:是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术 ...
- pwn学习日记Day6 基础知识积累
知识杂项 ELF:在计算机科学中,是一种用于二进制文件.可执行文件.目标代码.共享库和核心转储格式文件. char fgets(char buf, int bufsize, FILE stream); ...
- pwn学习日记Day2 基础知识积累
知识杂项 shell-storm.org的shellcode数据库 使用pwntools库把shellcode作为输入传递给程序,尝试使用io.interactive()与程序进行交互,发现可以执行s ...
- pwn学习日记Day1 基础知识积累
ida / od 窗口(针对od操作) 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址.HEX 数据.反汇编.注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进 ...
- pwn学习日记Day4 基础知识积累
知识杂项 *:字符串重复 空指令NOP:\x90 cmp:是比较指令,cmp的功能相当于减法指令.它不保存结果,只是影响相应的标志位. xor:将两个操作数进行异或运算,并将结果存放到操作数1中. s ...
- 如何学习FPGA?FPGA学习必备的基础知识
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA 基础知识 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...
随机推荐
- Windows下Nginx的下载安装、启动停止和配置浏览
前言: 记录一下今天在Windows下载安装Nginx服务器的过程.因为网上关于Nginx的资料都太复杂了,大多数是在Linux下使用的方法. 1.下载 Nginx官网下载地址:http://ngin ...
- 浅浅的分析下es6箭头函数
原文链接:http://damobing.com/?p=589 前言 箭头函数作为es6重点的语法内容之一,很多开发者对其爱不释手,当也要注意其可能存在的问题,其正确的使用场景,否则会引起不必要的bu ...
- [React Native] Disable and Ignore Yellow Box Warnings in React Native
Yellow box warnings in react native can be intrusive. We will use console.disableYellowBox to disabl ...
- php实现从尾到头打印列表
php实现从尾到头打印列表 一.总结 4.数组倒序:array_reverse() 5.函数肯定要return,而不是echo 二.php实现从尾到头打印列表 输入一个链表,从尾到头打印链表每个节点的 ...
- js循环一维数组按指定长度截取为二维数组
//随便创建一个数组 let data = "abcdefghijklmnopkrstuvw12322999".split(""); //总数组 let pro ...
- thinkphp5 tp5 七牛云 上传图片
七牛sdk地址https://files.cnblogs.com/files/zonglonglong/qiniu-php-sdk-7.2.2.rar 首先下载php的sdk将文件夹放到vendor ...
- [React] Cleanly Map Over A Stateless Functional Component with a Higher Order Component
In this lesson we'll create a Higher Order Component (HOC) that takes care of the key property that ...
- Android OkHttp网络连接封装工具类
package com.lidong.demo.utils; import android.os.Handler; import android.os.Looper; import com.googl ...
- html css div img垂直居中
<head> <meta charset="UTF-8"> <meta name="Generator" content=&quo ...
- spring 输出mvc
http://flysnowxf.iteye.com/blog/1187580 http://viralpatel.net/blogs/spring-requestheader-example/ 基于 ...