for

for (var i = 0; i < 10; i++) {
	console.log(i);
}

🌈 步骤

// 1. 声明变量 i = 0
// 2. if (i < 10) 满足条件时: { // todo }
// 3. i++
// 4. if (i < 10) 不满足条件: 停止循环

🌈 改造

var i = 0;
for (; i < 10;) { // ; 和 ; 之间的,是个判断语句,返回的是 true or false
	console.log(i);
  i++;
}

🌈 i++、++i

练习

打印 100 以内的数,跳过能被 7 整除或者个位数是 7 的数

for (var i = 0; i <= 100; i++) {
	if (i % 7 === 0 || i % 10 === 7) {
  	continue;
  }
  console.log(i);
}

打印 0 - 100 内的数;() 中只能有一句话,不能写比较;{} 中不能出现 i++, i--

var i = 101;
for (; i--;) {
  console.log(i); // 从 100 打印到 0
}

// hint: (i--) 的结果是 i = i - 1; (i--) 这个表达式的值是 i;
// 当 i = 100 时,(i--) 的结果 i = 100,但 (i--) 这个表达式的值此刻为 101
// 当 i = 1 时,(i--) 的结果 i = 0,但 (i--) 这个表达式的值此刻为 1
// 所以表达式还是个 true,执行循环体内容,此刻打印 i = 0;
// 最后一次表达式判断时,(i--) 的结果 i = -1,但 (i--) 这个**表达式**的值为 0,表达式结果 0
// 布尔值为 false,所以停止了 for 循环的执行,结束

10 的 n 次方

function fn(n) {
  var total = 1;
	for (var i = 0; i < n; i++) {
  	total *= 10;
  }
  return total;
}

n 的阶乘

定义:对于非负整数 n,阶乘 n! 表示从1到 n 之间所有整数的乘积 公式:n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1

function fn(n) {
	var total = 1;
  for (var i = 1; i <= n; i++) {
  	total *= i;
  }
  return total;
}

打印 100 以内的质数