首页 > 代码库 > javascript程序案例

javascript程序案例

1.求正数和

要求:输入十个数字,求出其中正数个数和正数和,输入999结束程序:

<!DOCTYPE html>
  <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
      var sum=0
      var p=0
      for(var i=1;i<=10;i++){
      var num=parseInt(prompt("请输入第"+i+"个数字(输入999结束程序)" ))
      if(num==999)break;
      else if(num<0)continue;
      else sum=sum+num,p=p+1;
      }
      document.write("程序终止,结果为"+sum+"个数为"+p)
    </script>
     </head>
    <body>
    </body>
</html>

2.求日期

要求:输入年份、月份、日期求出是该年的第几天

<!DOCTYPE html>
  <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">

      var year=parseInt(prompt("请输入年份"))
      var num1=year%4;
      var num2=year%100;
      var num3=year%400;
      var s=28
      num1==0&&num2!=0||num3==0?s=29:s=28;
      var sum=0
      var month=parseInt(prompt("请输入月份"))

      if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
      {var day=parseInt(prompt("请输入日期(1-31)"))
      if(day>=1&&day<=31) day=day
      else document.write("日期输入错误")
      }
      else if(month==4||month==6||month==9||month==11)
      {var day=parseInt(prompt("请输入日期(1-30)"))
      if(day>=1&&day<=30) day=day
      else document.write("日期输入错误")
      }
      else if(month==2)
      {var day=parseInt(prompt("请输入日期(1-"+s+")"))
      if(day>=1&&day<=s) day=day
      else document.write("日期输入错误")
      }
      else document.write("月份输入错误")
      for(var i=1;i<month;i++){
      if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
      sum+=31;
      }else if(i==4||i==6||i==9||i==11){
      sum+=30;
      }else if(i==2){
      sum+=s;
      }
      }
      document.write(year+"年"+month+"月"+day+"日为该年的第"+(sum+day)+"天")
      </script>
     </head>
    <body>
    </body>
</html>

3.常见javascript逻辑语句

【if-else结构】
1、结构写法:
if(判断条件){
//条件为true时执行
}else{
//条件为false时执行
}
2、if()中的表达式,运算之后的结果应该为:
① Boolean: true 真 false 假
② String:非空字符串为真 空字符串为假
③ Number:0为假 一切非0,均为真
④ Null/NaN/Undefined: 全为假
⑤ Object:全为真
3、else{}结构,可以根据具体情况省略;

var num = {};

if(num){
//条件为true时执行
document.write("if条件成立");
}else{
//条件为false时执行
document.write("if条件不成立");
}
// num<10?document.write("if条件成立"):document.write("if条件不成立");



 【多重if、阶梯if】
1、结构写法:
if(条件一){
// 条件一成立
} else if(条件二){
// 条件一不成立&&条件二成立

// else-if 部分,可以有N多个
} else{
// 条件一不成立&&条件二不成立
}

2、多重if结构中,各个判断条件是互斥的!只能选择其中一条路。

3、if/else的{}可以省略,但是一般不提倡;
如果省略{} 则,if/else结构包含的代码,仅为其后最近的一行(分号结束);
如果省略{} 则,else结构永远属于其前方最近的一个if结构。


var num2 = 5;
if(num2>5){
document.write("输入过大");
} else if(num2<5){
document.write("输入过小");
} else if(num2==5){
document.write("输入正确");
}

if(num2==5) document.write("输入过大");

if(num2==5) document.write("输入过大");
else document.write("11");

document.write("22");


【嵌套if结构】
1、结构写法:
if(条件一){
// 条件一成立
if(条件二){
// 条件一成立&&条件二也成立
}else{
// 条件一成立&&条件二不成立
}
}else{
//条件一不成立
}

2、if结构可以多重嵌套,但是原则上不超过3层






【Switch-Case结构】
1、结构写法:
switch(表达式){
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
……
default:
语句N
break;
}
2、注意事项:
① switch()中的表达式,以及每个case后面的表达式,可以为任何JS支持的数据类型(对象和数组不行);
② case后面的所有常量表达式,必须各不相同,否则只会执行第一个;
③ case后的常量可以是任何数据类型;同一个switch结构的不同case,可以是多种不同的数据类型;
④ switch在进行判断的时候,采用的是全等判断===。
⑤ break的作用:执行完case代码后,跳出当前switch结构;
缺少break的后果:从正确的case项开始,依次执行所有的case和default。原因:⑥↓
⑥ switch结构在判断时,只会判断一次正确答案,当遇到正确的case项后,将会不再判断后续项目。依次往下执行。
⑦ switch结构的执行速率要快于多重if结构。在多路分支时,可优先考虑使用switch结构。

var num4 = 5;
switch (num4){
case 4:
document.write("这是9的case块!");
//break;
case 5:
document.write("这是10的case块!");
//break;
case 6:
document.write("这是11的case块!");
//break;
default:
document.write("这是default的case块!");
break;
}

javascript程序案例