首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

问一个vbscript 循环的有关问题,多谢

2012-01-19 
问一个vbscript 循环的问题,谢谢为什么如下代码的j5没有生效我希望在for循环里赋值给j5时候,循环就结束

问一个vbscript 循环的问题,谢谢
为什么如下代码的j=5没有生效 
我希望在for循环里赋值给j=5时候,循环就结束了 
可是我发现还是打印了10个SF, 
<html > 
<body >  
<script type="text/vbscript" > 
j=10 
for i = 1 to j 
j=5 
document.write("SF,") 
next 
</script >  
</body >  
</html >

[解决办法]
这说明循环的终值在循环中无法改变,哪怕j重新赋值了。VB中也是如此。至于如何退出循环,估计不用多说了。
Private Sub Command1_Click()
Dim i As Integer, n As Integer
n = 8
For i = 1 To n
Debug.Print i, n
n = 3
Next i

End Sub

[解决办法]
初始值也一样的
[解决办法]
for 语句在循环开始前已经将值保存到零时变量中,不会再取 j 的值了。你的要求可用 while 语句实现。
[解决办法]
for i = 1 to 10
j=5
for i = 2 to 5
j=5

你是这样想的 ,但是系统在编译时已经把CX=10了 在循环中无法修改 CX它是被保护的(要不可以被溢出
那样就是危险代码了),这是自我保护的一种方式
[解决办法]
初始值被固定在堆栈中的,不能改变。
[解决办法]
应该不是溢出的问题,而是性能优化,应为循环的终值可能是一个表达式,仅在循环前计算一次优于重复计算。
结束条件不变的用 for,结束条件可变的用 while,这样性能和适用性都照顾到了。

热点排行