练习一.任意数求和(最多输入十位数),输入999终止

运行代码

<!DOCTYPE html>
<html>
  <head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript">
    var sum=0;
    for(var i=1;i<=10;){
      var num=Number(prompt('请输入一个数字'));
      if (num==999){break;}
      else if(num>0){
      sum+=num;
      }
      else if(!num){
      alert('输入错误')
      continue;
      }
      i++;
    }
    document.write('您输入了'+(i-1)+'个数');
    document.write('和为'+sum);
  </script>
</head>
<body>
</body>
</html>

效果图

输入2+2,999终止

案例二.输入任意年月日实现判断其为该年的第几天

注意,在解决该问题过程中要注意平年闰年的问题

运行代码如下

方法一

switch (month-1){
case 11:
sum+=30;
case 10:
sum+=31;
case 9:
sum+=30;
case 8:
sum+=31;
case 7:
sum+=31;
case 6:
sum+=30;
case 5:
sum+=31;
case 4:
sum+=30;
case 3:
sum+=31;
case 2:
sum+=28;
case 1:
sum+=31;
case 0:
sum+=0;
}

if((year%4==0&&year%100!=0||year%400==0)&&month>2){
sum+=(day+1);
}else{
sum+=day;
}

document.write("您输入的"+year+"-"+month+"-"+day+"为该年的第"+sum+"天");

方法二

for(var i=1;i<month;i++){
  if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
  sum+=31;
  }
  if(i==4||i==6||i==9||i==11){
  sum+=30;
  }
  if(i==2){
  sum+=28;
  }
}
if((year%4==0&&year%100!=0||year%400==0)&&month>2){
  sum+=(day+1);
  }else{
  sum+=day;
  }
document.write("您输入的"+year+"年"+month+"月"+day+"日是该年的第"+sum+"天");

效果图

验证正确

案例三.模拟银行ATM取款问题,默认密码111111,三次输入机会,取款面值100

运行代码

<!DOCTYPE html>
<html>
  <head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript">
    var isTrue=false;
    for (var i=1;i<=3;i++){
      var password=prompt('请输入密码:');
      if(password==111111){
      isTrue=true;
      break;
      }

    }
    if(!isTrue)alert('密码错误,请取卡');

  while (isTrue){
    var $=prompt('请输入取款金额:');
    if($%100==0&&$<=1000&&$>=0){
    document.write('您取了'+$+'元');
    document.write(',交易完成,请取卡!');
    break;
  }else{
  alert('您输入的金额不合法,请重新输入');
  }
  }

  </script>
</head>
<body>
</body>
</html>

效果图

密码输入错误(此处连输3次2)

结果显示

金额输入错误(此处连输150)

显示为

验证正确,符合要求。

案例四.嵌套循环练习--菱形图形

嵌套循环特点

 外层循环控制行数
 内层循环控制每行个数
【思路】
1.确定图形行数
2.确定每行中的元素个数,代表有几个内层循环
3.确定每种元素的个数,即为每个内层循环的次数
Tips:找出每种元素的个数,与行号的关系式,即为当前内循环的最大值

代码

for(var i=1;i<=4;i++){

    for(var k=1;k<=4-i;k++){
    document.write("<span style='display: inline-block;width: 7px;'></span>");
    }
    for(var j=1;j<=2*i-1;j++){
    document.write("*");
    }
    document.write("<br />");
    }
for(var i=1;i<=3;i++){
    for(var k=1;k<=i;k++){
    document.write("<span style='display: inline-block;width: 7px;'></span>");
    }
    for(var j=1;j<=7-2*i;j++){
    document.write("*");
    }
    document.write("<br />");
    }

效果图

案例五.嵌套循环练习--数字等边三角形

代码

for(var i=1;i<=4;i++){

  for(var k=1;k<=4-i;k++){
  document.write("<span style='display: inline-block;width: 8px;'></span>");
  }
  var n=1;
  //递增
  for(var j=1;j<=i;j++){
  document.write(n);
  n++;
  }
  //递减
  n-=2;
  for(var j=1;j<=i-1;j++){
  document.write(n);
  n--;
  }
  document.write("<br />");

}

运行效果

JS的循环嵌套时一定要注意思路,思路明了,问题就变得非常简洁

JS综合练习的更多相关文章

  1. [置顶] js综合应用:表格的四则运算

    在做调查问卷的过程中,遇到一个表格的统计问题,算是需要些js方面的综合知识,所以记录下来. 在上次完成了基本的求和的基础上,添加了基本的加减乘除四则运算. 基本需求简化后如下: 对应的htm了为: & ...

  2. jquery.js与sea.js综合使用

    jquery.js与sea.js综合使用   目录 模块定义 define id dependencies factory exports require require.async require. ...

  3. [js综合问题汇总]js窗口关闭事件,表单名称,父窗口子窗口,var变量名

    <script type="text/javascript"> window.onbeforeunload = onbeforeunload_handler; //wi ...

  4. Vue.js 综合

    <!DOCTYPE HTML> <html> <head> <title>vue.js 处理用户输入</title> <script ...

  5. Js综合笔记

    -----网页禁止复制---- -----网页禁止复制---- <body> <SCRIPT language=javascript type=text/javascript> ...

  6. 【JS 综合】JS综合

    视频教程链接:http://www.xuexi111.com/s/javascript/ 张孝祥:http://www.21edu8.com/pcnet/programming/26685/

  7. HTML+CSS+JS综合练习(动态验证版)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JS综合面试题1

    function foo(){ getName = function () { alert(1); }; return this; } Foo.getName = function(){ alert( ...

  9. FileSaver.js ////////////////////zzzzzzzzzzzzzz

    FileSaver.js 实现浏览器端文件保存的 JavaScript 库 查看次数: 758 下载次数: 89 更新时间: 2015-06-05 发布时间: 2015-06-05 收藏 插件信息金币 ...

随机推荐

  1. 关于TOE(TCP/IP Offload Engine)

    前言 昨天在电脑上抓取的报文,想进行回话,但是发现全部被设备丢弃了,没有debug信息,查看了抓包文件,原来是IP头和TCP.UDP头的检验和全部为0,也就是TOE(TCP/IP Offload En ...

  2. GTD:让大脑用来思考,而不是用来记事!

    前段时间听刘润大师分享了一套GTD时间管理方法理论,感觉非常受用!现拿来跟大家分享下,这套方法是刘润老师践行20多年总结提炼的精华,经亲自实践确实行之有效. 俗话说:工欲善其事,必先利其器!人生也是如 ...

  3. Log4net日志记录、详细配置(自己使用)

    [来自百度百科的一句介绍]log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 1.首先添 ...

  4. React介绍(讲人话)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 21.0px "PingFang SC"; color: #616161 } span. ...

  5. Lambda语言篇 —— lambda, 方法引用, 目标类型和默认方法

    本文介绍了Java SE 8中新引入的lambda语言特性以及这些特性背后的设计思想.这些特性包括: lambda表达式(又被成为"闭包"或"匿名方法") 方法 ...

  6. sparklyr包:实现Spark与R的接口

    日前,Rstudio公司发布了sparklyr包.该包具有以下几个功能: 实现R与Spark的连接—sparklyr包提供了一个完整的dplyr后端 筛选并聚合Spark数据集,接着在R中实现分析与可 ...

  7. CSS小技巧-两个盒子之间的间距问题

    1.水平排放的盒子,水平间距是两个margin的累加 2.垂直排放的盒子,垂直间距是合并的取最大值

  8. TreeSet集合排序方式一:自然排序Comparable

    TreeSet集合默认会进行排序.因此必须有排序,如果没有就会报类型转换异常. 自然排序 Person class->实现Comparable,实现compareTo()方法 package H ...

  9. Elasticsearch 与 Kafka 整合剖析

    1.概述 目前,随着大数据的浪潮,Kafka 被越来越多的企业所认可,如今的Kafka已发展到0.10.x,其优秀的特性也带给我们解决实际业务的方案.对于数据分流来说,既可以分流到离线存储平台(HDF ...

  10. 使用FlashWavRecorder实现浏览器录制wav音频和上传音频文件,兼容IE8以上浏览器

    前言:本项目基于github开源插件实现,该插件使用flash实现,兼容IE8以上浏览器 感谢michalstocki的分享该项目,github项目地址:https://github.com/mich ...