图形题思路:
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. Kubernetes 1.5安装

    Kubernetes从1.3开始引入kubeadm来试图简化其复杂的安装.但kubeadm至今仍不稳定,而且我个人觉得kubeadm反而麻烦,还不如直接用脚本或者其他自动化工具来安装来的利索.关于ku ...

  2. 3396: [Usaco2009 Jan]Total flow 水流

    3396: [Usaco2009 Jan]Total flow 水流 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 179  Solved: 73[Su ...

  3. 用一个jsp实现对数据库发访问

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312" ...

  4. Selenium自动化脚本开发总结

    Selenium Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mo ...

  5. warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]

    struct test{int a=1111111; }test; vincentdeMacBook-Air:datasturte vincent$ g++ struct.cpp -o structp ...

  6. 首个写博客的Android任务

    任务1 单击按钮图片选择器 使用TextView,RadioGroup,RadioButton完成. 设置单击按钮选择显示花朵. 首先设置了页面布局 <LinearLayout xmlns:an ...

  7. linux vi hjkl由来

    很远原因来自历史 I was reading about vim the other day and found out why it used hjkl keys as arrow keys. Wh ...

  8. RPC漏洞

    DCOM漏洞:利用这个漏洞攻击者只需发送特殊形式的清求到远程计算机上的135端口,轻则会造成拒绝服务攻击,严重的甚至可以让远程攻击者以本地管理员权限执行任何操作. 攻击过程:扫描也可用xscan+DC ...

  9. AE + GDAL实现影像按标准图幅分割(上)

    最近有个项目,其中有个功能是要将遥感影像按标准图幅分割,一开始用AE的接口,慢的让人抓狂,就改用GDAL,速度提升很大.我主要通过http://blog.csdn.net/liminlu0314/学习 ...

  10. css2.1实现图片添加阴影效果

    盒子里面放了img标签,盒子浮动后,盒子的背景图片(就是阴影图片)会应用图片的宽高. <!DOCTYPE html> <html lang="en"> &l ...