图形题思路:
1、确定图形一共几行,即为外层的循环次数
2、确定每行有几种元素,代表有几个内层循环
3、确定每种元素的个数,即为每个内层循环的次数

   通常,找出每种元素个数,与行号的关系式,即为当前内层循环的最大值(从1开始循环)

 利用循环嵌套实现以下图形:

【长方形】       【直角三角形】        【平行四边形】       【菱形】
**** * ***** *
**** ** ***** ***
**** *** ***** *****
**** **** ***** ***
**** ***** ***** *
长方形:
       for (i=1;i<=5;i++) {
for (j=1;j<=4;j++) {
document.write("*");
}
document.write("<br />");
}
document.write("长方形"+"<br />");
三角形:
for (i=1;i<=5;i++) {
for (j=1;j<=i;j++) {
document.write("*");
}
document.write("<br />");
}
document.write("三角形"+"<br />");
平行四边形:
for (i=1;i<=5;i++) {
for (n=1;n<=i;n++) {
document.write("&nbsp;");
}
for (j=1;j<=5;j++) {
document.write("*");
}
document.write("<br />");
}
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: 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 m=1;m<=i-1;m++){
document.write(n);
n--;
}
// 回车
document.write("<br/>");
}
九九乘法表

       document.write("<table width='700'>")
for(var i=1;i<=9;i++){
document.write("<tr>")
for(var j=1;j<=i;j++){
document.write("<td>"+i+"*"+j+"="+i*j+"</td>");
}
document.write("</tr>")
}
document.write("</table>") document.write("<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />");

结果样式:

 输入一个数字判断是否是正整数,并将数字反向输出:

var num;
while (true){
num=prompt("");
// Number(num)>0 肯定为正数
// parseInt(num)==parseFloat(num) 肯定不是小数
if (Number(num)>0&&parseInt(num)==parseFloat(num)) {
break;
}
}
while (num>0){
var a = parseInt(num%10);
document.write(a);
num=parseInt(num/10);
}

判断是否为一个数字:Number(num)不为NaN,说明为数字
判断一个数字为正数:Number(num)>0
判断一个数字为整数:parseInt(num)==parseFloat(num)

判断闰年:

var year=prompt("输入年份");
document.write(year%4==0&&year%100!=0||year%400==0?"是闰年":"不是闰年");*/

输入某年某月某日,判断这一天是这一年的第几天?

方法一:
var year = parseInt(prompt("请输入年份"));
var month = parseInt(prompt("请输入月份"));
var day = parseInt(prompt("请输入日期")); /*假设都是平年,2月28天*/
var sum=0;
/*方法一*/
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+=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+"天");
方法二:
    var year = parseInt(prompt("请输入年份"));
var month = parseInt(prompt("请输入月份"));
var day = parseInt(prompt("请输入日期")); /*假设都是平年,2月28天*/
var sum=0;
    switch (month-1){
case 11: //每个case后没有break,可以实现天数的累加
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+"天");

JS 部分常见循环、分支、嵌套练习的更多相关文章

  1. JS中For循环中嵌套setTimeout()方法的执行顺序

    在For循环中执行setTimeOut()方法的代码,执行顺序是怎样的呢? 代码如下 function time() { for(var i= 0;i<5;i++){ setTimeout(fu ...

  2. javascript基础入门之js中的结构分支与循环语句

    javascript基础入门之js中的结构分支与循环语句 程序的结构①顺序结构:自上而下:②选择(分支)结构:多条路径,根据不同的条件,只执行其中一个:③循环结构:重复某些代码④配合特定的语句实现选择 ...

  3. JS中for循环嵌套

    for 循环 for语句也是一种前测试循环语句,但它具有在 执行循环之前初始化变量 和 定义循环后要执行的代码的能力 for循环中专门提供了位置来放置循环的三个表达式 定义一个循环需要做实现这三步: ...

  4. for循环中嵌套setTimeout,执行顺序和结果该如何理解?

    这两天在捣鼓作用域的问题,有的时候知识这个东西真的有点像是牵一发而动全身的感觉.在理解作用域的时候,又看到了一道经典的面试题和例子题. 那就是在for循环中嵌套setTimeout延时,想想之前面试的 ...

  5. js闭包(函数内部嵌套一个匿名函数:这个匿名函数可将所在函数的局部变量常驻内存)

    js闭包(函数内部嵌套一个匿名函数:这个匿名函数可将所在函数的局部变量常驻内存) 一.总结 1.闭包:就是在一个函数内部嵌套一个匿名函数,这个匿名函数可以访问这个函数的变量. 二.要点 闭包 闭包的相 ...

  6. 【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域

    语句是指程序命令,都是按照顺序执行的. 语句又分为: 顺序语句:从上到下按顺序执行,挨个执行一遍. 分支语句:选择性执行语句,有的可能会执行,有的可能不执行.满足条件执行. 循环语句: 一.分支语句 ...

  7. 原生JS—实现图片循环切换的两种方法

    今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法.多余的话我们就不多说了,我们一个一个开始讲吧. 1  原生JS实现图片循环切换 -- 方法一 在上栗子之前我们先简单介绍一下所用的一些知识点. ...

  8. 原生JS—实现图片循环切换及监测鼠标滚动切换图片

    今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法以及如何检测鼠标滚动循环切换图片.多余的话我们就不多说了,我们一个一个开始讲吧. 1  原生JS实现图片循环切换 -- 方法一 在上栗子之前我们 ...

  9. JS中常见算法问题

    JS中常见算法问题 1. 阐述JS中的变量提升(声明提前) 答:将所有的变量提升当当前作用域的顶部,赋值留在原地.意味着我们可以在某个变量声明前就使用该变量. 虽然JS会进行变量提升,但并不会执行真正 ...

随机推荐

  1. 关于nodeJS多线程的支持,目前看来无法实现,讲解v8的一些东西

    关于这个,我这几天一直在研究,国内关于v8的资料很少,stackoverflow上也不多. 说起来我得说声抱歉,虽然并没有承诺什么.这个功能大概是无法实现.下面我来解释一下为什么. 首先我们要了解一下 ...

  2. 1613: [Usaco2007 Jan]Running贝茜的晨练计划

    1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1252  Solved: 609 ...

  3. oracle xe 数据库用户操作

    在system账号登录获得system权限,然后对用户进行操作 --创建表空间create tablespace tablespace_name datafile 'D:\tablespace_nam ...

  4. UWP--页面传值

    //匿名对象 private void Button1_OnClick(object sender, RoutedEventArgs e) { , name = "LBI" }); ...

  5. 四大组件之一---------activity的知识

    activity的生命活动 activity的四种启动模式 Android中以一个任务栈用来管理activity 一个栈的形式进行管理 在清单文件中,通过<activity>标签的andr ...

  6. Redhat

    vm1 port:192.168.210.102 user:root;pwd:123456 user:openflowpwd:openflowKkm09!q esx4.1 server 安装一.修改I ...

  7. iOS开发之自定义弹出的键盘

    self.inputField.inputView = myView 按文本框弹出的键盘不再是普通文字输入键盘,而是我们设置的myView.一般把这个方法写在viewDiLoad方法中. 也可以在键盘 ...

  8. supervisor的集中化管理搭建

    1.supervisor很不错,可惜是单机版,所以上github上找了个管理工具supervisord-monitor. github地址: https://github.com/mlazarov/s ...

  9. 开发Nagios监控passwd文件插件

    第一步:开发脚本 [root@Admin libexec]# pwd /usr/local/nagios/libexec [root@Admin libexec]# cat check_passwd ...

  10. Spring:利用PerformanceMonitorInterceptor来协助应用性能优化

    前段时间对公司产品做性能优化,如果单依赖于测试,进度就会很慢.所以就通过对代码的方式来完成,并以此来加快项目进度.具体的执行方案自然就是要知道各个业务执行时间,针对业务来进行优化. 因为项目中使用了S ...