VBSForNext循环的陷阱是什么-创新互联

这篇文章将为大家详细讲解有关VBS For Next循环的陷阱是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

专注于为中小企业提供网站建设、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业滦州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

代码如下:



'Author: Demon
'Website: /tupian/20230522/demon.tw
'Date: 2012/2/10
For i = 65 To (i + 25)
s = s & Chr(i)
Next
WScript.Echo s



运行后却发现没有字符串输出,觉得很奇怪,于是简单修改了一下:


复制代码 代码如下:


'Author: Demon
'Website: /tupian/20230522/demon.tw
'Date: 2012/2/10
For i = 65 To (i + 25)
WScript.Echo Chr(i)
s = s & Chr(i)
Next
WScript.Echo s



仍然没有任何输出,说明 For Next 循环中的语句根本就没有执行,百思不得其解,于是请教了一下预言家晚报,他很快就发现了陷阱所在:


复制代码 代码如下:


'Author: Demon
'Website: /tupian/20230522/demon.tw
'Date: 2012/2/10
For i = 65 To (i + 25) Step -1
WScript.Echo Chr(i)
s = s & Chr(i)
Next
WScript.Echo s



这次种终于有输出了,相信聪明的你也一定发现了陷阱在哪里。For Next 循环的求值顺序并不是按照从左到右的,表达式 (i + 25) 在 i = 65 之前就已经求值了,而此时 i 的值是默认的0,所以原循环相当于:


复制代码 代码如下:


'Author: Demon
'Website: /tupian/20230522/demon.tw
'Date: 2012/2/10
For i = 65 To 25
s = s & Chr(i)
Next
WScript.Echo s



当然不会有输出,最后我把程序改成了这样:


复制代码 代码如下:


'Author: Demon
'Website: /tupian/20230522/demon.tw
'Date: 2012/2/10
For i = Asc("A") To Asc("Z")
s = s & Chr(i)
Next
WScript.Echo s


关于“VBS For Next循环的陷阱是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


新闻名称:VBSForNext循环的陷阱是什么-创新互联
网站地址:http://scyanting.com/article/dgodis.html