使用二进制0 1
计算机可以直接识别
执行效率最高
用户可读性差
架构不同,指令系统也不同
使用符号代替指令
可读性得到增强
计算机不识别,需要汇编翻译代码
依赖硬件、可移植性不好
接近自然语言,可读性好
不依赖计算机硬件;可移植性好
需要翻译或解释
执行效率相对低
C/C++、Java、Python、JavaScript...
早期多使用结构化程序设计,现在多使用面向对象的程序设计 OOP - Object-Oriented Programming
对象
类
封装
继承
移植性好
. 大佬级别
. 需要修改文件后缀名.txt为.vbs才能被浏览器识别
. 可视化开发
. SPD内置脚本编辑器
关键字|保留字|系统函数等采用大驼峰,如Dim、For、While、Do、InputBox、MsgBox
其它标识符采用小写,如age、gender
分类 | 说明 |
---|---|
Empty | 未初始化;0或'' |
Null | 空 |
Boolean | 布尔型;真True、假False |
Byte | 字节型;0-255的整数 1个字节8位 最小的数,全0:00000000,即:0 最大的数,全1:11111111,即:255 |
Integer | 整型;2个字节的整数;-32768到32767 日常使用较多 |
Long | 整型;4个字节的整数;-2147483648到2147483647 |
Single | 单精度浮点数;带符号 3.14 |
Double | 双精度浮点数;带符号 3.1415... |
Date | 日期型;100.1.1到9999.12.31 日常使用较多 #2023-12-16# |
String | 字符串型 日常使用较多 "hi, there" |
使用Dim - Dimension 声明一个变量
多个变量使用逗号,分隔
变量必须先声明再赋值;不支持声明的同时马上赋值
可以直接使用变量而不声明;不建议
使用等号=,将右边的值或另外一个变量对应的值赋值给变量
可以声明的时候直接赋值;也可以先声明后面再根据需要赋值
第一个字符必须是字母;其它是字母、数字和下划线组成
不能包括小数点、空格
不能使用系统关键字
长度不超过255
根据变量声明的位置,变量起作用的区域/程序的执行空间可分为:局部/过程作用域和脚本级/全局作用域;相应的变量是局部变量或全局变量
同变量的作用域相关
局部变量:过程开始,变量出现;过程结束,变量消失
全局变量:脚本开始,变量出现;脚本结束,变量消失
只有一个值
多个值
声明的时候,使用括号()和长度表示
数组变量可以是一维和多维;维度使用逗号,分隔
使用的时候,使用索引表示某个元素;第一个元素的索引是0,最后一个元素的索引是长度-1
也称文字常量;无需定义即可直接使用
数值常量,如12、字符串常量,如"hi, there"、日期常量#2023-12-16#
使用标识符表示一个常量
包括:预定义/系统符号常量和自定义符号常量
自定义符号常量使用Const关键字声明
通常使用全部大写,以便和普通变量名、保留字区分
分类 | 说明 |
---|---|
^ | 乘方 |
* / | 乘 除 |
\ | 整除 |
MOD | 取模;也叫取余(数) |
+ - | 加 减 |
分类 | 说明 |
---|---|
& | 默认按照字符串拼接运算 将操作数转换为字符串再拼接;推荐使用 excel中连接单元格的值 |
+ | 默认按照算术相加运算 如果两个操作数都是字符串,则是字符串拼接 如果一个操作数是数字,一个操作数是非数字,则尝试将非数字操作数转换为数字再相加;如果无法转换,则提示"类型不匹配" |
分类 | 说明 |
---|---|
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
= | 等于 |
<> | 不等于 |
分类 | 说明 |
---|---|
And | 与;全为真,结果才为真 |
OR | 或;有一个为真,结果就为真 |
Not | 非;非真为假;非假为真 |
分类 | 说明 |
---|---|
= | 将表达式的值赋值给变量 |
分类 | 说明 |
---|---|
输入语句 | InputBox();获取用户输入 |
输出语句 | Document.Write();页面上直接显示 |
输出语句 | MsgBox();页面上弹窗显示 |
分类 | 说明 |
---|---|
Asc(string) | ASCII;字符串首字符的ASCII码 |
CStr(digit) | string;转换为字符串 |
CInt(digit) | integer;转换为整型;小数部分四舍五入 |
CLng(digit) | long;转换为长整型;小数部分四舍五入 |
CSng(digit) | single;转换为单精度 |
CDbl(digit) | double;转换为双精度 |
Chr(digit) | char;将ASCII码转换为字符 |
Fix(digit) | fix;舍弃小数部分;不四舍五入 |
Val(string) | value;将字符串转换为数值 |
分类 | 说明 |
---|---|
InStr(start, string1, string2) | 在string1中,从start开始查找string2,返回其出现的索引/位置;默认从1开始 |
LCase(string) | lowercase;转换为小写 |
UCase(string) | uppercase;转换为大写 |
Left(string, length) | 从左边截取长度length的字符串 |
Right(string, length) | 从右边截取长度length的字符串 |
Len(string) | 字符串的字符个数/长度 |
Trim(string) | 去除字符串两侧/左右的空格 |
LTrim(string) | 去除字符串左侧/前面的空格 |
RTrim(string) | 去除字符串右侧/后面的空格 |
Mid(string, start, length) | 在string中,从start开始截取长度length的字符串;如果没有长度length,则截取到串尾 |
String(number, character) | 重复字符串中第一个字符 |
分类 | 说明 |
---|---|
Int(digit) | 取整;取不大于数的整数;不会四舍五入 |
Round(digit, n) | 数的四舍五入;保留n位小数 |
Sqr(digit) | square root;数的平方根 |
Abs(digit) | absolute;数的绝对值 |
Sgn(digit) | sign;数的符号;正数1;负数-1;0为0 |
Rnd() | random;0-1之间的随机数,不包括1;半开区间 |
分类 | 说明 |
---|---|
Date() | 日期;默认格式:日/月/年 年/月/日 |
Year(date) | 年;4位:YYYY |
Month(date) | 月;1-12 |
Day(date) | 天数;1-31 |
Weekday(date) | 星期几;1-7:星期天-星期六 |
Time() | 时间;时:分:秒 |
Hour(time) | 小时;0-23 |
Minute(time) | 分钟;0-59 |
Second(time) | 秒;0-59 |
根据条件判断程序的走向
使用End If结束选择逻辑
给定2个数,判断较大数并显示出来[例7-8/P325]
根据输入的年龄判断是否成年
根据表达式的值判断程序的走向;通常需要指定默认判断:case else
使用end select结束选择逻辑
根据输入的成绩查询档次;使用弹出消息框MsgBox()给出结果[例7-10/P326、例7-11/P327]
按指定次数执行语句块
使用一个计数器充当循环变量;每执行1次,循环变量按照一定步长增加会减少
步长可以为负 - 递减循环,也可以为正 - 递增循环;默认是1
超过终值,循环结束
可以嵌套实现多重循环
比较最终成绩;7个成绩,去掉最高分和最低分,其它求平均[例7-12/P329]
输出九九乘法表[例7-13/P330]
求s = 1 + 2 + 3 + ... + 10 的值[例7-14/P331]
求s = 1 x 2 x 3 x ... x 10 的值[例7-15/P331]
按指定条件执行语句块
检查用户输入密码是否正确;错误超过3次,结束程序[例7-15/P332]
分类 | 说明 |
---|---|
Click | 鼠标左键单击;按下并释放,在MouseUp之后触发 |
DblClick | 鼠标双击 double click |
MouseMove | 鼠标移动 |
MouseDown | 鼠标按下 |
MouseUp | 鼠标释放 |
MouseOver | 鼠标移入 |
MouseOut | 鼠标移出 |
分类 | 说明 |
---|---|
KeyPress | 按键;按下并释放;使用较多 |
KeyDown | 按键按下 |
KeyUp | 按键释放 |