JS综合练习
练习一.任意数求和(最多输入十位数),输入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综合练习的更多相关文章
- [置顶] js综合应用:表格的四则运算
在做调查问卷的过程中,遇到一个表格的统计问题,算是需要些js方面的综合知识,所以记录下来. 在上次完成了基本的求和的基础上,添加了基本的加减乘除四则运算. 基本需求简化后如下: 对应的htm了为: & ...
- jquery.js与sea.js综合使用
jquery.js与sea.js综合使用 目录 模块定义 define id dependencies factory exports require require.async require. ...
- [js综合问题汇总]js窗口关闭事件,表单名称,父窗口子窗口,var变量名
<script type="text/javascript"> window.onbeforeunload = onbeforeunload_handler; //wi ...
- Vue.js 综合
<!DOCTYPE HTML> <html> <head> <title>vue.js 处理用户输入</title> <script ...
- Js综合笔记
-----网页禁止复制---- -----网页禁止复制---- <body> <SCRIPT language=javascript type=text/javascript> ...
- 【JS 综合】JS综合
视频教程链接:http://www.xuexi111.com/s/javascript/ 张孝祥:http://www.21edu8.com/pcnet/programming/26685/
- HTML+CSS+JS综合练习(动态验证版)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS综合面试题1
function foo(){ getName = function () { alert(1); }; return this; } Foo.getName = function(){ alert( ...
- FileSaver.js ////////////////////zzzzzzzzzzzzzz
FileSaver.js 实现浏览器端文件保存的 JavaScript 库 查看次数: 758 下载次数: 89 更新时间: 2015-06-05 发布时间: 2015-06-05 收藏 插件信息金币 ...
随机推荐
- 如何在Unity中分别实现Flat Shading(平面着色)、Gouraud Shading(高洛德着色)、Phong Shading(冯氏着色)
写在前面: 先说一下为什么决定写这篇文章,我也是这两年开始学习3D物体的光照还有着色方式的,对这个特别感兴趣,在Wiki还有NVIDIA官网看了相关资料后,基本掌握了渲染物体时的渲染管道(The re ...
- Unity非运行模式下实现动画播放/回退工具
实现效果 核心功能 支持选定模型(带Animator)在非运行模式下,播放/暂停/停止动作. 支持动作单帧前进,单帧回退(帧时间默认0.05f,可以代码设置). 支持滚动条拖拽,将动作调整到指定时间. ...
- Day3-递归函数、高阶函数、匿名函数
一.递归函数 定义:函数内部可以调用其它函数,如果调用自身,就叫递归. 递归特性: 1.必须有结束条件退出: >>> def calc(n): ... print(n) ... re ...
- 1.Java 加解密技术系列之 BASE64
Java 加解密技术系列之 BASE64 序号 背景 正文 总结 序 这段时间,工作中 用到了 Java 的加解密技术,本着学习的态度,打算从这篇文章开始,详细的研究一番 Java 在加解密技术上有什 ...
- Linux_破解密码-营救模式
实验用机:CentOS 5.7 破解密码 设置开机启动界面 系统运行级别 营救模式 一.破解密码 root用户可以更改任何用户的密码,普通用户只能修改自己的密码. 步骤: 1.重新启动系统 2.开机倒 ...
- Plotting trees from Random Forest models with ggraph
Today, I want to show how I use Thomas Lin Pederson's awesome ggraph package to plot decision trees ...
- 2017-5-18 Repeater 重复器的使用
Repeater - 重复器HeaderTemplate - 先执行,执行一次FooterTemplate - 最后执行,执行一次ItemTemplate - 在Header之后执行,有多少条数据绑定 ...
- 对 Servlet 的改进--------Struts2 引入
通过上一篇博客:Servlet 的详解 http://www.cnblogs.com/ysocean/p/6912191.html,我们大致知道了 Servlet 的基本用法.但是稍微分析一下 Ser ...
- 关于饿了么在浏览器标签页失去焦点时网页Title改变的实现方法
说在前面:必须是基于支持H5的浏览器才可以 这个 API 本身非常简单,由以下三部分组成. document.hidden:表示页面是否隐藏的布尔值.页面隐藏包括 页面在后台标签页中 或者 浏览器最小 ...
- 微信小程序 获取OpenId
微信小程序 官方API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/ 首先 以下代码是 页面加载请求用户 是否同意授权 同意之后 用code 访问 微信 ...