一、循环
1、for循环的另一种写法
var i = 0;
for(; i < 10; ) {
console.log(i);
i++;
}
看上去其实就是while循环。所以我们清楚 ,for和while是可以互相转换的。
2、如果不用break、return如何终止循环?
for(; i; ) {
console.log(i);
i++;
if(i === 11) {
i = 0; //这里只是一个固定的场景,就是要把循环条件给弄成false
}
}
我们想方设法把for循环的终止条件弄为false就可以了。
3、一些面试题
// 打印0-100的数
// 要求:()内只能有一句语句
// {}中不能出现i++、i--
// 我们这道题必须是要有++或者--的,不能出现在{}中,那么只能出现在()中了
var i = 101; // 注意是101哈,因为第一步要先减一
for(; i--; ) { // 这里必须是使用i--后自减的方式哈,因为如果是前自减,那么就没办法打印0了
console.log(i);
}
// 用for循环计算10的n次方
var n = 5;
var num = 1; // 这里是1
for(var i = 0; i < n; i++) {
num *= 10;
}
// 翻转一个数,如45678 --> 87654
var invertNum = function(num) {
var res = 0; // 起始值是0,因为一开始是个位数*10必须要为0
for (; num;) {
res = res * 10 + (num % 10); // 乘10之后在把当前数的个位数加上
num = Math.floor(num / 10); // 去掉最后一位数
}
return res;
}
// 打印1-100以内的质数
var c = 0;
for (var i = 2; i <= 100; i++) {
// 从1到其自身遍历,i就是我们要判断是不是质数的数,所以用它来除以从1到其自身的数
// 如果刚好只有两个数能被其整除,那么这个数就是质数。
for (var j = 1; j <= i; j++) {
if (i % j === 0) {
c++;
}
}
if (c ==&