// 我们可以通过循环来实现 // 每次循环,执行生成一个随机数, // 如果这个数值不是 666 我们就继续执行循环 并且给记录次数变量数值+1 // 当数值是666时,停止循环,变量中的数值就是记录的循环次数
// 定义一个变量,最初的数值是0 // 每次循环,给num赋值一个随机数,如果随机数是666,我们停止循环 var num = 0; // 定义一个循环变量,实际上与真正执行的循环次数是没有关系的 // 只是便于记录循环次数 var i = 0;
// 当 num数值不是666时,我们进入循环 while(num != 666){ // 给 num 赋值一个 100-999 之间的随机数 num = parseInt(Math.random()*(999+1-100) + 100 ); // 每执行一次循环,i++,记录一次循环次数 i++; }
// 循环终止之后,执行的程序 // 输出num,见识是否是666 // 输出i,查看循环次数是多少次 console.log(num); console.log(i);
// 总结: // 观察这个循环,压根儿就没有定义循环变量 // 判断进入循环的条件,与循环变量也没有任何关系 // 也就是没有循环变量,我们的循环也能正常执行 // 也就是循环次数,与循环变量无关 // 实际上我们根本不清楚,循环到底需要执行多少次 // 这样的循环我们就称为未知循环次数的循环
// 此种情况,我们的循环变量实际上不会影响循环次数,往往用于记录循环次数
// 说明: // 一般的while循环 // var i = 1 while(i<=5){console.log)() ; i++}; // 判断进入循环的条件是 i<=5 循环终止时, i 实际数值是 6 // 现在是不确定循环次数的循环 // var i = 0 while(num!=666){i++} ; // 此时 决定循环次数,是num的数值,与 i的数值是无关的 // 如果第一次就生成了666,执行i++,i的数值正好是1
// 需要写成for循环 // for循环实际与while循环的代码是一抹一样的,只是顺序等不同
var num = 0;
for( var i = 0; num != 666; i++ ){ num = parseInt(Math.random()*(999+1-100) + 100 ); }
console.log(num); console.log(i);
// 未知循环次数的程序,更适合使用while循环来实现 // 非常可惜,我们现在只能完成简单的demo,这个效果还是不是很明显 // 但是我们要牢牢记住 // for循环,更适合循环的嵌套 // while循环,更使用未知循环次数的循环 // 他们两个有一定是可以相互转化的