这两者就是先检测条件再循环还是先循环再检测条件的区别。
打个比方,去坐地铁,检票口肯定是设在入口处(也就是上车之前)啦,这样的话,有票的人自然能进去,没票的肯定就被拒入啦;但是假如把检票口设在出口处(也就是下车之后)会发生什么?不管有票没票,任何人都能进去坐车,但下车后,有票的人可以自由离开,下次也可以继续来坐车,而没票的人会被记入黑名单,下次就不能再坐车了,但他已经坐过一次了,这个也是无法改变的事实!
这两个语句也是这样,While语句会在循环之前检测循环条件,不符合条件就不运行(也就是说如果不符合条件则循环将一次也不会运行),而Do While语句则会先把循环执行一次,然后再来检测条件,符合条件就再次循环,不符合条件则退出(也就是说不管什么情况循环都会至少执行一次!)。
1 1 2 3 5 8 ...
<script>var num1 = 1
var num2 = 1
var num3 = 0
var index = 2
while(index <= 100){
num3 = num1 + num2
num1 = num2
num2 = num3
index ++
}
alert("num3=" + num3)
</script>
<!DOCTYPE html><html>
<head>
</head>
<body>
<script>
var f = false
var i = 2
var j = 2
var n = 0
while (i < 1000) {
f = true
while (j <= i/2){
if (i % j == 0)
{
f = false
break
}
j++
}
if (f) {
if (n % 8 == 0) {
document.write("<br>")
}
n++
document.write( i + ",")
}
j = 2
i++
}
</script>
</body>
</html>