生活中90%的焦虑,
都是因为懒惰导致的。
if语句
基本使用
if 语句是 JavaScript 中最简单的条件判断语句,语法格式如下:
if(条件表达式){
// 要执行的代码;
}
当条件表达式成立,即结果为布尔值 true 时,就会执行{ }中的代码。
if语句执行流程图
else可以省略
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = Number(prompt('请输入数字'));
if (num == 1) {
alert('这是我喜欢的数字');
}
</script>
</body>
</html>
单行if语句
if-else-if多条件分支
判断奇偶
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = Number(prompt('请输入数字'));
if (num % 2 == 0) {
alert(num + '是偶数');
} else {
alert(num + '是奇数');
}
</script>
</body>
</html>
if语句示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var age = Number(prompt('请输入年龄'));
if (age >= 18 && age <= 70) {
alert('可以');
} else {
alert('不可以');
}
</script>
</body>
</html>
BMI肥胖指数计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var height = Number(prompt('请输入您的身高(m)'));
var weight = Number(prompt('请输入您的体重(kg)'))
var bmi = weight / (Math.pow(height, 2));
if (bmi >= 32) {
alert('您的BMI指数是:' + bmi.toFixed(1) + '\n' + '属于' + '非常肥胖');
} else if (bmi >= 28) {
alert('您的BMI指数是:' + bmi.toFixed(1) + '\n' +' 属于' + '肥胖');
} else if (bmi >= 24) {
alert('您的BMI指数是:' + bmi.toFixed(1) + '\n' +' 属于' + '过胖');
} else if (bmi >= 18.5) {
alert('您的BMI指数是:' + bmi.toFixed(1) + '\n' +' 属于' + '正常');
} else {
alert('您的BMI指数是:' + bmi.toFixed(1) + '\n' +' 属于' + '过廋');
}
</script>
</body>
</html>
判断水仙花数
方法1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var num = Number(prompt('请输入数字'));
var g = num % 10;
var s = parseInt((num / 10) % 10);
var b = parseInt(num / 100);
if (!isNaN(num) && num >= 100 && num <= 999) {
if (Math.pow(g, 3) + Math.pow(s, 3) + Math.pow(b, 3) == num) {
alert('是水仙花数');
} else {
alert('不是水仙花数');
}
} else {
alert('数字不合法');
}
</script>
</body>
</html>
方法2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>水仙花数判断</title>
</head>
<body>
<script>
var num = Number(prompt('请输入一个三位数'));
var g = String(num).charAt(2); //个位
var s = String(num).charAt(1); //十位
var b = String(num).charAt(0); //百位
if (!isNaN(num) && num >= 100 && num <= 999) {
if (Math.pow(g, 3) + Math.pow(s, 3) + Math.pow(b, 3) == num) {
alert('是水仙花数');
} else {
alert('不是水仙花数');
}
} else {
alert('请输入合法的数字');
}
</script>
</body>
</html>
游乐园门票计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var age = Number(prompt('请输入您的年龄'));
var data = Number(prompt('请输入游玩时间(星期)'));
if (age >= 10) {
// 平日
if (data == 1 || data == 2 || data == 3 || data == 4 || data == 5) {
alert('300元');
// 周末
} else {
alert('500元');
}
// 小于10岁
} else {
if (data == 0 || data == 6) {
alert('210元');
} else {
alert('140元');
}
}
</script>
</body>
</html>
switch语句
JavaScript switch case 语句的语法格式如下:
switch (表达式){
case value1:
statements1 // 当表达式的结果等于 value1 时,则执行该代码
break;
case value2:
statements2 // 当表达式的结果等于 value2 时,则执行该代码
break;
......
case valueN:
statementsN // 当表达式的结果等于 valueN 时,则执行该代码
break;
default :
statements // 如果没有与表达式相同的值,则执行该代码
}
switch 语句根据表达式的值,依次与 case 子句中的值进行比较:
- 如果两者相等,则执行其后的语句段,当遇到 break 关键字时则跳出整个 switch 语句。
- 如果不相等,则继续匹配下一个 case。
- switch 语句包含一个可选的 default 关键字,如果在前面的 case 中没有找到相等的条件,则执行 default 后面的语句段。
注意:switch 语句中,表达式是使用全等(===)来与各个 cese 子句中的值进行匹配的。由于使用的是全等运算符,因此不会自动转换每个值的类型。
switch 语句的执行流程(工作原理)如下图所示:
break 关键字
switch 语句是逐行执行的,当 switch 语句找到一个与之匹配的 case 子句时,不仅会执行该子句对应的代码,还会继续向后执行,直至 switch 语句结束。为了防止这种情况产生,需要在每个 case 子句的末尾使用 break 来跳出 switch 语句。
default 语句与 case 语句简单比较如下:
- 语义不同:default 为默认项,case 为判例。
- 功能扩展:default 选项是唯一的,不可以扩展。而 case 选项是可扩展的,没有限制。
- 异常处理:default 与 case 扮演的角色不同,case 用于枚举,default 用于异常处理。
三元运算符
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>三元操作符</title>
</head>
<body>
<script>
//补充代码
var score1 = 50;
var score2 = 70;
var isPass1 = score1 >= 60 ? '及格' : '不及格';
var isPass2 = score2 >= 60 ? '及格' : '不及格';
console.log(isPass1);
console.log(isPass2);
</script>
</body>
</html>
for循环语句
JS for 循环适合在已知循环次数时使用,语法格式如下:
for(initialization; condition; increment) {
// 要执行的代码
}
for 循环中包含三个可选的表达式 initialization、condition 和 increment,其中:
- initialization:为一个表达式或者变量声明,我们通常将该步骤称为“初始化计数器变量”,在循环过程中只会执行一次;
- condition:为一个条件表达式,与 while 循环中的条件表达式功能相同,通常用来与计数器的值进行比较,以确定是否进行循环,通过该表达式可以设置循环的次数;
- increment:为一个表达式,用来在每次循环结束后更新(递增或递减)计数器的值。
精准遍历for
这个什么都不输出:
for循环练习
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
for (var i = 18; i >= -6; i -= 4) {
console.log(i);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
for (var i = 0; i <= 1; i += 0.2) {
console.log(Number(i.toFixed(1)));
}
</script>
</body>
</html>
习题
for循环算法题
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
for (var i = 1; i <= 100; i++) {
if (i % 3 == 1 && i % 4 == 2 && i % 5 == 3) {
console.log(i);
}
}
</script>
</body>
</html>
while循环语句
while 循环在每次循环之前,会先对条件表达式进行求值,如果条件表达式的结果为 true,则执行{ }中的代码,如果条件表达式的结果为 false,则退出 while 循环,执行 while 循环之后的代码。
while 循环的执行流程如下图所示:
注意事项
在编写循环语句时,一定要确保条件表达式的结果能够为假(即布尔值 false),因为只要表达式的结果为 true,循环会一直持续下去,不会自动停止,对于这种无法自动停止的循环,我们通常将其称为“无限循环”或“死循环”。
如果不小心造成无限循环,可能会导致浏览器或者计算机卡死。
while循环习题
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
var n = 0;
while (n * n < 456789) {
n++;
}
console.log(n);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 寻找最小的满足n方>456789的正整数n
// while(true)方法
var n = 1;
while (true) {
if (n * n > 456789) {
console.log(n);
break;
}
n++;
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
var radish = 1;
var day = 1;
while (radish <= 500) {
radish += day;
day++;
}
// 为防止“出一错误”在这里减一
console.log(day - 1);
</script>
</body>
</html>
break 与 continue
通过前面对循环的学习我们知道,默认情况下循环会在表达式结果为假时自动退出循环,否则循环会一直持续下去。某些情况下,我们不用等待循环自动退出,可以主动退出循环,JavaScript 中提供了 break 和 continue 两个语句来实现退出循环和退出(跳过)当前循环,下面我们就来详细介绍一下。
使用 break 语句可以跳出 switch 语句。其实使用 break 语句还可以用来跳出循环,让程序继续执行循环之后的代码(如果有的话)。
continue 语句用来跳过本次循环,执行下次循环。当遇到 continue 语句时,程序会立即重新检测条件表达式,如果表达式结果为真则开始下次循环,如果表达式结果为假则退出循环。
break 语句用来跳出当前循环,执行循环后面的代码;continue 语句用来跳过当次循环,继续执行下次循环。
label语句
JavaScript lable语句可以声明在任何语句或者代码块之前,并与 break 或 continue 配合来跳出特定的循环,例如当多个循环嵌套使用时,单纯使用 break 只能跳出当前的循环,无法跳出外层循环,如果将 break 与lable语句配合使用,则可以一次跳出多层循环。
语法
lable:statement
说明:
- label表示标签名
- statement表示代码块
- label标签名与statement表示代码块之间使用英文状态下的冒号分隔
示例:
outer:for(var i = 0; i < count; i++){
alert(i);
}
这个例子中定义的outer标签可以在将来由break或continue语句引用。加标签的语句一般都要与for语句等循环语句配合使用。
强调
示例
var num = 0;
for (var i = 1; i < 10; i++) {
if(i % 5 == 0){
break;
}
num++;
}
alert(num)//4
这个例子中的 for循环会将变量由1递增至10。在循环体内,有一个if语句检查i的值是否可以被5整除(使用求模操作符)。如果是,则执行break语句退出循环。另一方面,变量num从0开始,用于记录循环执行的次数。在执行break语句之后,要执行的下一行代码是alert()函数,结果显示4。也就是说,在变量i等于5时,循环总共执行了4次;而break语句的执行,导致了循环在num再次递增之前就退出了。如果在这里把break替换为continue的话,则可以看到另—种结果:
var num = 0;
for (var i = 1; i < 10; i++) {
if(i % 5 == 0){
continue;
}
num++;
}
alert(num)//8
例子的结果显示8,也就是循环总共执行了8次。当变量i等于5时,循环会在num再次递增之前退出,但接下来执行的是下一次循环,即的值等于6的循环。于是,循环又继续执行,直到等于10时自然结束。而num的最终值之所以是8,是因为continue语句导致它少递增了一次。
break和continue语句都可以与label语句联合使用,从而返回代码中特定的位置。这种联合使用的情况多发生在循环嵌套的情况下,如下面的例子所示:
var num = 0;
outernum: for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
if (i == 5 && j == 5) {
break outernum;
}
num++;
}
}
alert(num) //55
在这个例子中,outernum标签表示外部的for语句。如果每个循环正常执行10次,则num++语句就会正常执行100次。换句话说,如果两个循环都自然结束,num的值应该是100。但内部循环中的break语句带了一个参数(outernum标签)。添加这个标签的结果将导致break语句不仅会退出内部的for语句(即使用变量j的循环),而且也会退出外部的for语句(即使用变量i的循环)。为此,当变量i和j都等于5时 , num 的值正好是55。同样,continue语句也可以像这样与label语句联用,如下面的例子所示:
var num = 0;
outernum: for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
if (i == 5 && j== 5) {
continue outernum;
}
num++;
}
}
alert(num) //95
当i等于5,j等于5的时候,会从第一层for循环开始计算。所以不会计算i等于5,j等于5,6,7,8,9的情况。那么num值会少加5次,最后结果也就是95 。
在这种情况下,continue语句会强制继续执行循环,即退出内部循环,执行外部循环。当j是5时,continue语句执行,而这也就意味着内部循环少执行了5次,因此num的结果是95。
注意 虽然联用break、continue和labeli语句能够执行复杂的操作,但如果使用过度,也会给调试带来麻烦。在此,我们建议如果使用label语句,一定要使用描述性的标签,同时不要嵌套过多的循环。
do while 循环
JavaScript do while 循环与 while 循环非常相似,不同之处在于,do while 循环会先执行循环中的代码,然后再对条件表达式进行判断。因此,无论条件表达式是真还是假,do while 循环都能至少执行一次,而 while 循环就不行了,如果条件表达式为假会直接退出 while 循环。
提示
提示:do while 循环与 while 循环还有一点不同,那就是 do while 循环的末尾需要使用分号;进行结尾,而 while 循环则不需要。
do while 循环的执行流程如下图所示:
do while 案例
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
var dx = 0;
var dy = 0;
do {
var dx = parseInt(Math.random() * (4 - (-4) + 1)) + -4;
var dy = parseInt(Math.random() * (4 - (-4) + 1)) + -4;
} while (dx == 0 && dy == 0); //循环条件:只要它俩不同时为0,就跳出循环
// 只要出循环,它俩一定不同时位0
console.log(dx, dy);
</script>
</body>
</html>
随机数函数
Math.random( )
- 返回一个 0 到 1 之间的随机数
- random 随机的
公式
猜数字游戏
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>猜数字游戏</title>
</head>
<body>
<script>
var guess = parseInt(Math.random() * (99 - 2 + 1)) + 2; // 生成随机数
var min = 1;
var max = 100;
while (true) {
var num = Number(prompt('请猜数字' + min + '~' + max + '之间'));
if (num >= max || num <= min) {
alert('超出范围');
continue;
}
if (num > guess) {
alert('猜大了');
max = num;
} else if (num < guess) {
alert('猜小了');
min = num;
} else {
alert('恭喜你猜对了');
break;
}
}
</script>
</body>
</html>
编程练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 方法1
var money = 1000;
var year = 0;
var sum = 0;
while (money <= 2000) {
money += money * 0.05;
year++;
}
console.log(year);
// 方法2
var money = 1000;
var year = 0;
do {
money += money * 0.05;
year++;
} while (money <= 2000);
console.log(year);
</script>
</body>
</html>
循环总结
语法
for (语句 1; 语句 2; 语句 3) {
要执行的代码块
}
运行流程
例子
for (var i = 0; i <= 10; i++) {
console.log(i);
}
执行过程分析:
这段代码是要在控制台中输出数字0~10
- 最初,变量 i=0,满足i<=10的条件,故执行代码,在控制台中输出0,然后变量i加1,变量i的值为1。
- 变量 i=1,满足i<=10的条件,故执行循环体中的代码,在控制台中输出1,然后变量 i加1 变量i的值为2 。
- 变量 i=2,满足 i<=10的条件,故执行循环体中的代码,在控制台中输出2,然后变量 i加1,变量i的值为3 。
- 以此类推.....
- 最后变量i的值为11,不满足 i<=10的条件,所以循环停止,不再执行循环体中的代码。
语法
while (条件) {
要执行的代码块
}
运行流程
例子
var i = 0;
while (i <= 10) {
console.log(i)
i++
}
执行过程分析:
这段代码是要在控制台中输出数字0~10
- 最初,变量 i=0,满足i<=10的条件,故执行代码,在控制台中输出0,然后变量 i加1,变量 i的值为1。
- 变量i=1,满足i<=10的条件,故执行循环体中的代码,在控制台中输出1,然后变量i加1,变量i的值为2。
- 变量 i=2,满足 i<=10的条件,故执行循环体中的代码,在控制台中输出2,然后变量i加1,变量i的值为3
- 以此类推......
- 最后变量 i=11,不满足i<=10的条件,所以循环停止,不执行循环体中的代码
语法
do {
需要执行的代码;
}while (条件)
运行流程
例子
var i = 11;
do {
console.log(i)
i++
}
while (i <= 10)
执行过程分析:
变量的初始值是11,它是小于10的,但是循环还是会先执行一次代码语句,在控制台中输出了11,然后再去判断条件是否成立。很显然11<=10是错误的,所以退出了循环。
小结
算法
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
- 算法就是把一个问题,拆解为计算机能够一步一步执行的步骤。
- 计算机的流程控制语句: 顺序执行、选择语句、循环语句
优秀算法的要求:
- 正确性
- 健壮性
- 可读性
累加器 累乘器
累加器题目
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var n = Number(prompt('请输入数字'));
var sum = 0;
for (var i = 2; i <= n; i++) {
sum += (i + 1) / i;
}
console.log(sum);
</script>
</body>
</html>
累乘器题目
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var n = Number(prompt('请输入数字'));
var ret = 1;
for (var i = 1; i <= n; i++) {
ret *= i;
}
console.log(ret);
</script>
</body>
</html>
大厂前端面试题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var n = Number(prompt('请输入需要估算的圆周率n'));
var items = 1;
var sum = 0;
for (var i = 1; i <= n; i++) {
items *= i / (2 * i + 1); // 将每一项累乘在一起
sum += items; // 将每一项相乘的结果累加在一起
}
console.log((sum + 1) * 2);
</script>
</body>
</html>
编程练习
小伙伴们,让我们编写代码,实现1+1/2+2/3+3/4+4/5...n-1/n的和。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var n = Number(prompt('请输入一个数'));
var sum = 0;
for (var i = 2; i <= n; i++) {
sum += (i - 1) / i;
}
alert(sum + 1);
</script>
</body>
</html>
穷举法
计算机最突出的能力就是计算,它没有归纳总结、逻辑推理的能力。所以人们使用计算机解决问题的时候,要“扬长避短”—充分发挥计算机的计算优势,而不要让它进行逻辑推理。穷举法就是这样的一种算法思想。
穷举法,顾名思义,是指根据题目的条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况符合题目的条件,则为本问题的一个解;若全部情况验证后都不符合题目的条件,则本题无解。
for(var i = 1; i <= 100; i++){
if(i % 3 == 0 && i % 5 == 0){
console.log(i);
}
}
例题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var n = Number(prompt('请输入一个数'));
for (var i = 1; i <= n; i++) {
if (n % i == 0) {
console.log(i);
}
}
</script>
</body>
</html>
寻找水仙花数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for (var i = 100; i <= 999; i++) {
var g = i % 10;
var s = parseInt((i / 10) % 10);
var b = parseInt(i / 100);
if (Math.pow(g, 3) + Math.pow(s, 3) + Math.pow(b, 3) == i) {
console.log(i);
}
}
</script>
</body>
</html>
编程练习
上学的时候我们都玩过一个报数的游戏,游戏的规则是:定一个地雷数字,大家轮流报数。如果报到的数字是包含地雷数字,或者能被地雷数字整除,那么就算是踩地雷了。踩到地雷的人会被惩罚表演一个节目哦~ 现在我们定义7为地雷,找出100以内的安全数字。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for (var i = 1; i <= 100; i++) {
if (i % 7 == 0 || i % 10 == 7 || parseInt((i / 10) % 10) == 7 || parseInt(i / 100) == 7) {
continue;
} else {
console.log(i);
}
}
</script>
</body>
</html>
综合算法题目
寻找质数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
outer: for (var i = 2; i <= 100; i++) {
for (var j = 2; j < i; j++) {
if (i % j == 0) {
continue outer;
}
}
console.log(i);
}
</script>
</body>
</html>
稚兔同笼
方法1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for (var i = 1; i <= 35; i++) {
for (var j = 1; j <= 35; j++) {
if (i + j == 35 && 2 * i + 4 * j == 94) {
console.log('鸡有' + i + ',兔有' + j);
}
}
}
</script>
</body>
</html>
方法2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
for (var i = 0; i <= 35; i++) {
var j = 35 - i;
if (2 * i + 4 * j == 94) {
console.log(i, j);
}
}
</script>
</body>
</html>