一、 if ,if else if(详细省略。。。)
if<-->&&切换
- 下面两者意义相同。
if (2 > 1) {
console.log("我很帅");
}
2 > 1 && console.log("我很帅");
二、for
1. 基本形式:
for(var i = 0; i < 10; i ++){//分号间的表达式分别用①、②、③表示
console.log("我很帅!");
}
执行顺序
- ①先执行一遍
- ②条件判断语句执行,类似于if判断,true的时候执行下一步
- ③语句执行
- ②条件判断语句执行,类似于if判断,true的时候执行下一步
- ③语句执行
- ...直到 i == 10 时,if判断为false,循环终止。
2. 拓展
var i = 10;
for(;i--;){//因为i的值不为0,会在条件判断表达式中自动转化为true,成功进入下次循环。当i为0时,会在条件判断表达式中自动转化为false,循环结束。
console.log("我很帅!");//打印十次
}
3. 练习
- 计算2的n次幂,n可输入,n为自然数。
function abc(n) {
var mul = 1;
for (var i = 0; i < n; i++) {
mul *= 2;
console.log(mul);//2 4 8 16。。。。
}
}
- 计算n的阶乘,n可输入。
function abc(n){
var mul = n;
for (var i = 1; i < n; i++) {
mul = mul * (n - i);
}
return mul;
}
var mul = abc(5);
console.log(mul);//120
- 著名的斐波那契数列(1 1 2 3 5 8输出第n项)。
function abc(n){
var first = 0;
var second = 0;
var third = 1;
for(var i = 0;i < n;i++){
console.log(third);//1 1 2 3 5 8
first = second;
second = third;
third = first + second;
}
}
abc(6);
- 编写一个程序,输入一个三位数的正整数,输出时反向输出。如:输入456,输出654。
function abc(n){
//n%100为十位和个位的和
var a =(n - n%100)/100;//百
//n%10为个位的值
var b = (n%100 - n%10)/10;//十
var c = n%10;//个
var re = c * 100 + b * 10 + a ;
return re;
}
abc(234);//432
5.输入a,b,c三个数字,打印出最大的。
function abc(a,b,c){
if (a >= b) {
if (a >= c) {
return a;
} else {
return c;
}
} else {
if (b >= c) {
return b;
}else {
return c;
}
}
}
abc(1,2,3);
6.打印出100以内的质数(只能被1或者自身整除的自然数)。
var count = 0;
for(var i = 1;i <= 100;i++){
for (var j = 1; j <= 100; j++) {
if (i%j == 0) {
count++;
}
}
if (count == 2) {
console.log(i);
}
count = 0;
}
三、switch case
1.写法
switch(1){
case 1:
console.log(1);
break;
case 2:
console.log(2);
break;
case 3:
console.log(3);
break;
}
2.注意
上述例子中,如果只想打印1的话,必须在各个case后面添加break,否则2,3都会被打印!!!
四、break
1.定义:执行到break时,循环终止。
五、continue
1.定义:执行到continue时,循环内部的语句将被跳过,执行下一次循环。
2.例子:
for (var i = 0; i < 5; i++) {
if (i == 3) {
continue;//3将不会被打印
}
console.log(i);//0 1 2 4 5
}