一、闰年算法
- 口诀:四年一润&&百年不润||四百年在润
var year=2022;
if((year%40&&year%100!=0)||year%4000){
console.log(“闰年”)
}else{
console.log(“平年”)
}
二、三目运算符
- a>b?a:b
a=2 b=3 c=4
如果2>3成立 输出2,否则输出3.结果就是3 - 如果是三个数比较,用一个中间变量d ,先a和b进行比较,得出结果d,d和c 在进行比较eg:
d=a>b?a:b;
d=d>c?d:c
d=3 3>4 成立输出3,否则就输出4 结果为4;
三、switch选择
var score=100;
- switch(score){
case 100:
console.log(“A”);
break;
case 99:
console.log(“B”)
break;
default:
console.log©;
}
a. switcch是等值匹配,case条件不能写范围
b. switch只匹配一次,如果没有修饰条件,则会穿透后面语句
c. 阻止穿透break
d.匹配值和被匹配值一致
注意 if else 和switch 的使用场景
范围匹配用if 等值匹配用switch(if也可以)
四、循环
-
while(条件表达式)``
循环体语句;
a.执行顺寻:先条件,后语句。根据条件的真假,选择是否执行循环体,如果执行了语句,则再次判断条件真假,重复这个过程。
var sum=0;var i=1;
while(i<=100){
sum+=i;
i++;
}
console.log(sum,i); -
有限次数的循环,必须初始化循环变量
-
有限次数的循环,必须有使结束循环的条件
-
当不知道循环次数的时候使用死循环
-
do {
循环体
}while(提交表达式)
while 与do while不同:
当首次条件成立时,他们没有区别
当首次条件不成立时do while 比while 多执行一次循环 -
for循环
for(表达式1,2,3){
表达式4
}
eg:
var sum=0;
for(var i=1;i<=100; i++){
sum+=i;
}
console.log(sum,i)
使用场景:1 知道循环次数用for
2 不知道循环次数用while
3 除非必须要执行一次循环的情况,用do while
五、水仙花数
- 水仙花数是一个三位数,他的各位的立方加十位的立方加百位的立方等于这个数
- a.首页拆解一个三位数
var x=123;
a=x%10;得3
x=parseInt(x/10);得 12.3
b=x%10; 得2
x=parseInt(x/10);
c=x%10;
b.判断拆解得立方和是否等于该数本身
if(i=aaa+bbb+ccc){
console.log(i);
}
例题:简单算法
var a,b,c,x;
for(var i=100;i<1000;i++){
x=i;
a=x%10;
x=parseInt(x/10);
b=x%10;
x=parseInt(x/10);
c=x%10;
if(i=aaa+bbb+ccc){
console.log(i);
}
}