JS基础——循环很重要

介绍循环之前,首先要说一下同样很重要的if-else结构,switch-case结构

①if-else结构

if(判断条件) {

条件为true时执行

}

else{

条件为false时执行

}

②if-else-if结构(阶梯if)

if(条件一){

条件一成立

}

else if( 条件二){

条件一不成立&&条件二成立

(else-if部分可以有多个)

}

else{

条件一不成立&&条件二不成立

}

③嵌套if结构

结构写法

if(条件一){

  条件一成立

if(条件二){

}

else{

条件一成立&&条件二不成立

}

}

else{

条件一不成立

}

要注意的是

if()中的表达式,运算之后结果应该是

①boolean: true为真,false为假

②string: 非空字符串为真,空字符串为假

③null / NaN /Undefined 全为假

④object类型 全为真

⑤number: 0为假,非零为真

Switch-Case结构

1..结构写法:

switch(表达式){

  case 常量表达式1:

  语句一;

  break;

  case 表达式2:

  语句二;

  break;

.......

  default:

  语句N

}

2.注意事项:

①switch()中的表达式以及每个case后的表达式,可以为任何JS支持的数据类型(对象和数组除外)

②case后边的所有常量表达式必须各不相同,否则,只会执行第一个。

③case后的常量可以是任何数据类型;同一个switch结构的不同case,可以是多种不同的数据类型;

④switch在进行判断的时候,采用的是全等===判断

⑤break;执行完case代码后,跳出当前switch结构。

若缺少break:从正确的case项开始,依次执行所有的case和default

⑥switch结构在判断时,只会判断一次正确答案。当遇到正确的case项后,将不会再判断后续项。依次往下执行

用法示例:输入一个月份,判断属于哪个季度

                        var mon=Number(prompt("请输入月份:"));
            switch(parseInt((mon-1)/3)){
                case 0:
                document.write("第一季度");
                break;
                case 1:
                document.write("第er二季度");
                break;
                case 2:
                document.write("第三季度");
                break;
                case 3:
                document.write("第四季度");
                break;
            }
                        

好了,下边就是要说的非常重要的循环了;首先来说一下while循环

【循环结构的步骤】

①声明循环变量

②判断循环条件

③执行循环体(while大括号中的所有代码)操作

④改变循环变量

⑤循环执行②③④

【JS中循环条件支持的数据类型】

支持JS中的所有类型

①boolean: true为真,false为假

②string: 非空字符串为真,空字符串为假

③null / NaN /Undefined 全为假

④object类型 全为真

⑤number: 0为假,非零为真

至于do-while循环:

先执行,再判断;即便条件不成立,也先执行一次。

最后来说一下最常用的 for循环

for(初始化循环变量;循环条件;修改循环变量的值){

  

}

for循环有三个表达式①定义循环变量②判断循环条件③更新循环变量,之间用分号隔开。

三个表达式可省略,但分号不可省略

特点:先判断,再执行

②for循环三个表达式均可以由多部分组成,中间用逗号分隔。但第二部分判断要用&&连接,最终结果需要为真/假

例如:

for(n=1,j=5; n<=5; n++,j--){

}

循环控制语句

1.break:终止本层循环,继续进行循环后边的语句。

当eak只循环有多层时,br会跳过一层循环

2.continue:跳过本次循环,继续执行下次循环

对于for循环,continue执行后,继续执行循环变量更新语句n++

对于while do-while,continue执行后,继续执行循环条件判断;所以在这两个循环中使用时,必须注意:continue一定要在n++后边使用

【循环嵌套】

外层循环转一次,内层循环转一圈

下边我们做个经典的图形题:用*打印一个菱形

              var f,g;
            for(f=1;f<=4;f++){
                for(g=1;g<=4-f;g++){
                    document.write("&nbsp");
                }
                for(g=1;g<=2*f-1;g++){
                    document.write("*");
                }
                document.write("<br />");
            }
            for(f=4;f>0;f--){
                for(g=4-f;g>=0;g--){
                    document.write("&nbsp");
                }
                for(g=2*f-4;g>=0;g--)
                {
                    document.write("*")
                }
                document.write("<br />");
            }        

简单总结一下:

【嵌套循环特点】

外层循环控制行数,内层循环控制每行元素个数

【图形题思路】

1.确定图形一共几行,即为外层循环次数;

2.确定每行有几种元素,代表有几个内层循环;

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

时间: 2024-08-08 06:47:15

JS基础——循环很重要的相关文章

js 基础 -- 循环、函数调用 、全局和局部变量、异常捕获、事件

一:循环 for for in <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>循环</title> <meta name="viewport" conte

JS基础与循环

JS 简介 [JS的三种方式] 1.HTML标签中内嵌JS <button onclick="javascript:alert('白痴')">呵呵呵</button> 2.HTML页面中直接使用JS <script type="text/javascript"> //JS代码 </script> 3.引用外部JS文件 <script language="JavaScript" src=&quo

JS 基础学习整理

心得:   很多人都说JS的话其实是挺难的,但是也是很重要的,这句话其实一点都没错,就像这几天学习的js基础,刚开始基本学的就是一个框架和简单的算法思想就已经抬升了很大的一个难度阶级,对像我这类数学思维不是很好的人来说,其实就更是一个挑战了,但是,没有谁生来就会的,虽然我们的算法思维不是很好,但是,希望能在更多的练习中找到这种题型的解决方式,别人敲三道,我们可以敲五道,只希望在更多的练习中去克服这个难点,慢慢的去培养这种算法思想. 就这前面三天学的JS课程来说,其实比较难的也就是循环,很多时候怎

js 基础篇(点击事件轮播图的实现)

轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首先,我们可以在body中添加一个div并且将宽度设置成百分比(自适应页面),比例具体是相对谁的百分比的话按需求来做,在这里不多说.将图片放入到div 中. 其次,样式部分将img标签全部设置成absolute:以方便定位 最后,js部分说说逻辑,定义两个空数组,第一个数组用来保存初始的显示在页面的图

JS基础知识回顾:ECMAScript的语法(一)

任何语言的核心都必然会描述这门语言最基本的工作原理,而描述的内容通常都要涉及这门语言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念. ECMAScript中的一切变量.函数名.操作符都区分大小写. ECMAScript的标识符要符合下列规则:第一个字符必须是字母.下划线或美元符号:其他字符可以是字母.下划线.美元符号或数字. 标识符中的字母也可以包含扩展的ASCII或Unicode字母字符,但是并不推荐. 按照惯例,ECMAScript标识符采用驼峰大小写的格式来书写,尽管没

JS基础知识回顾:变量、作用域和内存问题

ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值. 基本类型值指的是简单的数据段,而引用类型值指的是那些可能由多个值构成的对象. 引用类型的值是保存在内存中的对象,与其他语言不同,JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间. 在操作对象时,实际上是在操作对象的引用而不是实际的对象. 在很多语言中,字符串以对象的形式来表示,因此被认为是引用类型的,ECMAScript放弃了这一传统. 定义基本类型值和引用类型值的方式是类似的:创建

JS基础及函数

一.JS基础 1.算法及流程图         解决问题的步骤或程序. 特性:          明确性: 算法对每一个步骤都有确切的,非二性的规定.         有效性: 算法的每一个步骤都能够通过基本运算有效地执行,并得到确定的结果.         有限性: 算法由有限的步骤组成. 分类:算术算法.事务性算法     2.流程图         即算法的一种图形解方法.         特点:顺序结构.选择结构.循环结构     3.JS基础内容     引入JavaScript方式:

js基础梳理-如何理解作用域和作用域链?

本文重点是要梳理执行上下文的生命周期中的建立作用域链,在此之前,先回顾下关于作用域的一些知识. 1.什么是作用域(scope)? 在<JavaScritp高级程序设计>中并没有找到确切的关于作用域的定义,只是在"4.2执行环境及作用域"中简单说了下执行环境(execution context)的概念.而执行环境其实就是之前博客:js基础梳理-究竟什么是执行上下文栈(执行栈),执行上下文(可执行代码)?中的执行上下文. 而在<JavaScript权威指南>中,对作

JS基础知识大全

JS基础知识 基本语法*switch循环(设置表达式 x(通常是一个变量) 随后表达式的值会与结构中的每个 case 的值做比较.如果存在匹配,则与该 case 关联的代码块会被执行.请使用 break 来阻止代码自动地向下一个 case 运行) 不进行类型转换 var x; switch(x){ case true:console.log("x类型转换") ; default:console.log("x没有发生类型转换"); }//case没有发生类型转换 sw