do while
让用户输入一个字符,如果字符不是 'n' 就继续输入,如果输入的是 'n',结束循环。每次输入的字符,我们通过document.write写在body中.
do {
var word = prompt('输入一个字符:')
document.write(word);
} while (word != 'n')
关键字
js中有两个关键字,只能使用在循环中, 对循环的执行起到一定的控制作用
break 结束整个循环
for (var a = 1; a <= 5; a++) {
document.write(a + '<br>');
// 通过判断,当输出3以后
if (a === 3) {
// 结束整个循环
break
}
}
continue 结束这次循环,开始下一次循环
for (var a = 1; a <= 5; a++) {
if (a === 3) {
continue
}
document.write(a + '<br>');
}
双色球案例
// 定义一个存放数字的容器
var arr = []
// 页面中显示6个不重复的随机数字
for (var a = 1; a <= 6; a++) {
// 生成一个1~21之间的随机数
var num = getRandom(1, 21)
// console.log(num);
// 判断这个随机数是否在容器中
var index = arr.indexOf(num)
if (index >= 0) {
// 表示容器中已经有这个数字了
a-- // 这次循环重新来过,continue之后会有a++
// 让后面的代码不执行了
continue
}
// 将整个随机数放在容器中
arr.push(num)
}
console.log(arr);
// 生成随机数字的函数
function getRandom(a, b = 0) {
return Math.floor(Math.random() * Math.abs(a - b)) + Math.min(a, b)
}
打印所有闰年
页面上显示出1000-2000年中所有的闰年,并以每行四个数的形式输出
var year = 1000;
var i = 0; // 定义计数器
while(year<=2000){
if(year%4==0 && year%100!=0 || year%400==0){
document.write(year + " ");
i++;
if(i%4==0){ // 如果计数器是4的倍数,表示到4个了应该换行了
document.write("<br>");
}
}
year++;
}
求20以内阶乘的和
var n = 0;
for (var i = 1; i <= 20; i++) {
var k = 1;
for (var j = i; j >= 1; j--) {
k *= j;
}
n += k;
}
console.log(n);
弹篮球
篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于0.1米。
var h = 5;
var k = 0; // 定义计数器
while(h>=0.1){ // 不知道次数,所以使用while循环 - 条件是高度大于等于0.1,小于0.1的时候停止
h*=0.3; // 高度每次是 原来高度的 30%
k++; // 计数器每次自增
}
console.log(h);
console.log(k);
棋盘放芝麻
有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
var a = 1;
var weight = 0.00001;
for(var i=1;i<=64;i++){
a*=2; // 每个格子中的芝麻数都是前一个格子的2倍
}
console.log(a*weight);
输出素数
输出100-200之间所有的素数 (素数,就是除了1和自己本身,不能被别的数整除)
for (var a = 100; a <= 200; a++) {
var flag = true
for (var b = 2; b < parseInt(a / 2); b++) {
if (a % b === 0) {
flag = false
// console.log('不是素数');
break
}
}
if (flag === true) {
console.log(a);
}
}