想不想整蛊你的同学,那么了解一下VBS的死循环是电脑小白最容易上手的整蛊方案,对一些不了解电脑的同学来说,一定可以让他抓狂的,话不多说,大爷快来快活吧!(。・∀・)ノ゙嗨。
VBScript循环
VBS中的循环大致分为以下四种:
1、For…Next:指定循环次数,使用计数器重复运行语句
2、For Each…Next:对于集合中的每项或数组中的每个元素,重复执行一组语句
3、Do…Loop:循环执行某段代码直到条件变为 true
4、While…Wend:当条件为True时循环(由于不能提前结束该循环,所以不常使用了,一般使用跟它功能相似的Do…Loop循环代替它)
下面详细介绍:
For…Next 循环
如果确定了需要重复执行代码的次数,那么就可以使用For…Next 循环
实例代码:
For a=1 to 10
example code
Exit For
example code
Next
For语句:语句中的变量 a 类似于循环计数器的数值变量,就像MySQL中count函数的作用。1代表变量a的初值,10代表变量a的最终值
For语句和Next语句中间放你的业务代码
Exit For语句:有时候我们可能在循环的中间需要跳出代码,此时就会用到Exit For语句,它会直接帮你跳出For…Next 循环。
Next 语句:会以 1 作为步进值来递增变量a。
step关键字
有时你可能不想计数变量老是以1作为步进值,那么在For语句后面加上Step关键字再加上你想要步进的数值,无论递增还是递减都可以,不过要注意,递减时,负的步进值需要规定小于开始值的结束值。
For Each…Next 循环
看着跟For…Next 循环结构差不多,实际的作用也差不多。**For Each…Next 循环主要用于数组中及对象集合中,适合用来遍历数组和对象。**它并不事先指定代码运行的次数,而是将数组中的每个元素或对象集合中的每一项遍历一遍。
实例代码:
Dim numbers(2)
numbers(0)=" Hello World!"
numbers(1)=" Hello Stars!"
numbers(2)=" Hello universe!"
For Each x In numbers
MsgBox x
Next
程序会依次输出 Hello World!、Hello Stars!、Hello universe!
Do…Loop 循环
当你不知道重复多少次,可以使用 Do…Loop 语句。**Do…Loop 语句重复执行某段代码直到条件是 true 或条件变成 true。**其实有点类似于Java函数中的while循环和do-while循环。
实例代码:
'类似于while循环
Dim a,b
a=5
Do Until a=0'也可以写成While a>0
msgbox a '输出结果为5,4,3,2,1
a = a-1 '直到条件变为true
Loop
'类似于do-while循环,无论判断条件如何,这段循环内的代码都将被执行至少一次。
Do
msgbox b '尽管b为0符合判断条件,但先会输出一次,输出结果为0
b = b-1 '直到条件变为true
Loop While b>0
类似于Exit For,你也可以通过Exit Do 关键词退出 Do…Loop 语句。
Dim c: c=10
Do while c>1
msgbox c
c=c-1
If c<10 Then Exit Do
Loop
只输出了10,循环就结束了。
While…Wend 循环
由于while…Wend循环和Do…Loop 循环的作用大相径庭,且While…Wend 循环并没有像Do…Loop 循环那样的Exit Do关键字来结束循环,从头一直循环到尾。 所以现在已经不推荐人们使用了(血的教训!!!由于自己是个小白,前几天还不知道,ԾㅂԾ,,硬用while…Wend 循环嵌套For…Next循环实现了一个小游戏——石头剪刀布)
实例代码:
Dim d:d= 5 '定义一个变量
While d<> 0 '若Count变量值不等于0,一直循环
MsgBox d
d= d-1
Wend
恶搞小程序
都学到这了自然我们来动手实践一下这个恶搞的小程序啦,特别简单,就用While…Wend 循环来做一个。
Dim d:d=1
While d<> 0
msgbox("从前有座山")
msgbox("山上有座庙")
msgbox("庙里有两个和尚")
msgbox("老和尚给小和尚说")
Wend
现在你就可以连忙动手实践一下,将这代码敲到记事本上再改个文件后缀名.VBS,之后找个理由发给朋友了。当然,发给朋友了也要教他怎么关闭程序,不然容易挨打,ԾㅂԾ,。
关于VBS死循环解决方法
前阵子特别火的整蛊代码,就是电脑上几个窗口来回不停切换其实就是通过VBS的While…Wend循环实现的。我当时用while…Wend写的代码,也跟众多小白一样发现关不掉弹出的窗口,成了死循环了,其实Ctrl+Shift+ESC打开任务管理器,选中这个应用,结束任务就可以了。