条件语句
一、If 语句
if(条件判断){
语句
}
当 if 括号里的条件成立时(即当条件转化为布尔值,结果为 true),才能执行{}内的语句,否则不执行。
例
if(1 < 2){
document.write(“2”);
}
&&放在 if 中是并且的意思,只有if里面的语句全为真才会执行{}里的内容。
||放在 if 中是或者的意思,有一个为真就可以执行{}里的语句。
IF 和&&的互相转化
if (1 > 2) {
document.write.('a');
}
上面的代码可以写成
1 > 2 && document.write('a');
二、for 循环(for 循环不固定,非常灵活)
格式 for (var i = 0; i < 10; i++) {
循环体
}
for 是关键字,()括号里面三个语句用两个分号隔开,{}里面是循环体
打印十个 a,写成:
for (var i = 0; i < 10; i++) {
document.write('a');
}
执行顺序如下:
(1)var i= 0;
(2)if(0 <10){
document.write(‘a’)
}
(3)i++
此时 i 变成 1
(4)if(1<10){
document.write(‘a’)
}
(5)i++
i=2;
…
如此反复
所以for循环也可写成下面形式
var i = 0
for (; i < 10;) {
document.write('a');
i++;
}
var i=1;
count=0;
for( ; i ; ){
document.write('a');
count++;
if(count==10){
i=0;
}
}
var i=1;
for( ; i ; ){
document.write('a');
i++;
if(count==11){
i=0;
}
}
例 for 循环中的三句只能写一句,打印 100 个数:
var i=0;
for( ; i<100;){
document.write(i +' ');
i++;
}
例 for 循环中的函数体里面只能写一句,打印 100 个数:
var i=100;
for( ;i -- ;){
document.write(i +' ');
}
三、while, do while
while 循环
while 循环是 for 循环的简化版 for( ; ; ){},while 循环底层机制是 for 循环。for ( ; 只在这一部分写,前后不写 ; ){}
var i=0;
for(;i<10;){
document.write(i);
i++;
}
上面的代码可以写成下面的while循环
while(i<100){
document.write(i);
i++;
}
死循环
while(1){
document.write(i);
i++;
}
打印100以内7的倍数
var i=0;
while(i<100){
if (i%7==0){
document.write(i+' ');
}
i++;
}
do while 循环
do while 是不管满不满足条件都会先执行一次,再判断成不成立,如果成立才会执行
第二次,不成立就停止 ,一般没人用
do{
document.write('a');
i ++;
}while(i < 10)
.计算 2 的 n 次幂,n 可输入,n 为自然数。
v
var n=parseInt(window.prompt('input'));
var mul=1;
for(var i=0;i<n;i++){
mul*=2;
}
document.write(mul);
.计算 n 的阶乘,n 可输入。即 5!=54321
var n=parseInt(window.prompt('input'));
var mul=1;
for(var i=1;i<=n;i++){
mul*=i;
}
doucument.write(mul);
3.斐波那契数列(这个数列从第 3项开始,每一项都等于前两项之和) 1 1 2 3 5 8 输出第 n项
var n=parseInt(window.prompt('input'));
var first=1,
second=1,
third;
if(n>2){
for(var i=0;i<n-2;i++){
third=first+second;
first=second;
second=third;
}
document.write(third);
}else{
document.write(1);
}
4.打印出 100 以内的质数(从 1除到他本身,只能有两个因数)
var count=0;
for(var i=1;i<100;i++){
for(var j=1;j<=i;j++){
if (i%j==0){
count++;
}
}
if(count==2){
document.write(i+' ');
}
count=0;
}
其他写法
var count=0;
for(var i=2;i<100;i++){
for(var j=1;j<=Math.sqrt(i);j++){
if (i%j==0){
count++;
}
}
if(count==1){
document.write(i+' ');
}
count=0;
}
四、switch case 条件判断语句
if(条件判断) switch(条件){ case 条件:判断条件否相符: 如果相符合就执行 case 后面的语句比如 console.log(‘a’) } ,如果判断了 a是符合条件的,也会把后面的连带打印出来 加个 break,就可以终止语句
例
var n=2;
switch(n){
case"a":
console.log('a');
break;
case 1:
console.log('b');
break;
case true:
console.log('c');
break;
}
break的标准定义是终止循环,break必须要放在循环里面
continue继续 终止本次循环,后面的都不执行了,来进行下一次的循环
例当 i是 7 的倍数,或尾数是 7 的时候,不打印
for ( var i = 0; i < 100; i++){
if( i % 7 == 0 || i % 10 == 7){
continue;
}
console.log(i);
}
continue终止本次循环,来进行下一次循环