JavaScript基础第03天笔记

1 - 循环

1.1 for循环

  • 语法结构

    for(初始化变量; 条件表达式; 操作表达式 ){
    //循环体
    }
    名称 作用
    初始化变量 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。
    条件表达式 用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。
    操作表达式 用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。

    执行过程:

    1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
  • 执行条件表达式,如果为true,则执行循环体语句,否则退出循环,循环结束。

  1. 执行操作表达式,此时第一轮结束。
  2. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true ,则去执行循环体语句,否则退出循环。
  3. 继续执行操作表达式,第二轮结束。
  4. 后续跟第二轮一致,直至条件表达式为假,结束整个 for 循环。

断点调试:

	断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。断点调试可以帮助观察程序的运行过程
断点调试的流程:
1、浏览器中按 F12--> sources -->找到需要调试的文件-->在程序的某一行设置断点
2、Watch: 监视,通过watch可以监视变量的值的变化,非常的常用。
3、摁下F11,程序单步执行,让程序一行一行的执行,这个时候,观察watch中变量的值的变化。
  • for 循环重复相同的代码

    比如输出10句“媳妇我错了”

    //  基本写法
    for(var i = 1; i <= 10; i++){
    console.log('媳妇我错了~');
    }
    // 用户输入次数
    var num = prompt('请输入次数:');
    for ( var i = 1 ; i <= num; i++) {
    console.log('媳妇我错了~');
    }
  • for 循环重复不相同的代码

    例如,求输出1到100岁:

    //  基本写法
    for (var i = 1; i <= 100; i++) {
    console.log('这个人今年' + i + '岁了');
    }

    例如,求输出1到100岁,并提示出生、死亡

    // for 里面是可以添加其他语句的
    for (var i = 1; i <= 100; i++) {
    if (i == 1) {
    console.log('这个人今年1岁了, 它出生了');
    } else if (i == 100) {
    console.log('这个人今年100岁了,它死了');
    } else {
    console.log('这个人今年' + i + '岁了');
    }
    }

    for循环因为有了计数器的存在,还可以重复的执行某些操作,比如做一些算术运算。

1.2 双重for循环

  • 双重 for 循环概述

    循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for 循环,这样的 for 循环语句我们称之为双重for循环。

  • 双重 for 循环语法

    for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
    for (内循环的初始; 内循环的条件; 内循环的操作表达式) {
    需执行的代码;
    }
    }
    • 内层循环可以看做外层循环的循环体语句
    • 内层循环执行的顺序也要遵循 for 循环的执行顺序
    • 外层循环执行一次,内层循环要执行全部次数
  • 打印五行五列星星

    var star = '';
    for (var j = 1; j <= 3; j++) {
    for (var i = 1; i <= 3; i++) {
    star += '☆'
    }
    // 每次满 5个星星 就 加一次换行
    star += '\n'
    }
    console.log(star);

    核心逻辑:

    1.内层循环负责一行打印五个星星

    2.外层循环负责打印五行

  • for 循环小结

    • for 循环可以重复执行某些相同代码
    • for 循环可以重复执行些许不同的代码,因为我们有计数器
    • for 循环可以重复执行某些操作,比如算术运算符加法操作
    • 随着需求增加,双重for循环可以做更多、更好看的效果
    • 双重 for 循环,外层循环一次,内层 for 循环全部执行
    • for 循环是循环条件和数字直接相关的循环

1.3 while循环

while语句的语法结构如下:

while (条件表达式) {    // 循环体代码 }

执行思路:

  • 1 先执行条件表达式,如果结果为 true,则执行循环体代码;如果为 false,则退出循环,执行后面代码
  • 2 执行循环体代码
  • 3 循环体代码执行完毕后,程序会继续判断执行条件表达式,如条件仍为true,则会继续执行循环体,直到循环条件为 false 时,整个循环过程才会结束

注意:

  • 使用 while 循环时一定要注意,它必须要有退出条件,否则会成为死循环

1.4 do-while循环

do... while 语句的语法结构如下:

do {    // 循环体代码 - 条件表达式为 true 时重复执行循环体代码} while(条件表达式);

执行思路

  • 1 先执行一次循环体代码

  • 2 再执行条件表达式,如果结果为 true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码

    注意:先再执行循环体,再判断,do…while循环语句至少会执行一次循环体代码

1.5 continue、break

continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。

例如,吃5个包子,第3个有虫子,就扔掉第3个,继续吃第4个第5个包子,其代码实现如下:

 for (var i = 1; i <= 5; i++) {     if (i == 3) {         console.log('这个包子有虫子,扔掉');         continue; // 跳出本次循环,跳出的是第3次循环       }      console.log('我正在吃第' + i + '个包子呢'); }

运行结果:

break 关键字用于立即跳出整个循环(循环结束)。

例如,吃5个包子,吃到第3个发现里面有半个虫子,其余的不吃了,其代码实现如下:

for (var i = 1; i <= 5; i++) {   if (i == 3) {       break; // 直接退出整个for 循环,跳到整个for下面的语句   }   console.log('我正在吃第' + i + '个包子呢'); }

运行结果:

2 - 代码规范

2.1 标识符命名规范

  • 变量、函数的命名必须要有意义
  • 变量的名称一般用名词
  • 函数的名称一般用动词

2.2 操作符规范

// 操作符的左右两侧各保留一个空格for (var i = 1; i <= 5; i++) {   if (i == 3) {       break; // 直接退出整个 for 循环,跳到整个for循环下面的语句   }   console.log('我正在吃第' + i + '个包子呢');}

2.3 单行注释规范

for (var i = 1; i <= 5; i++) {   if (i == 3) {       break; // 单行注释前面注意有个空格   }   console.log('我正在吃第' + i + '个包子呢');}

2.4 其他规范

关键词、操作符之间后加空格

JavaScript基础第03天笔记的更多相关文章

  1. JavaScript基础第05天笔记

    JavaScript基础第05天笔记 1 - 作用域 1.1 作用域概述 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提 ...

  2. JavaScript基础第04天笔记

    JavaScript基础第04天笔记 1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以 ...

  3. JavaScript基础第02天笔记

    JavaScript基础第02天 1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值.比较和执行算数运算等功能的符号. JavaScript中常用 ...

  4. JavaScript基础第01天笔记

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  5. javascript 基础篇 随课笔记

    !DOCTYPE HTML><html><head><meta name="content-type" content="text/h ...

  6. JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)

    String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...

  7. JavaScript基础知识(学习笔记)

    1.    在JavaScript中所有事物都是对象:字符串.数字.数组.日期等等2.    在JavaScript中,对象是拥有属性和方法的数据3.    属性是与对象相关的值,方法是能够在对象上执 ...

  8. JavaScript 基础优化(读书笔记)

    1.带有 src 属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的 JavaScript 代码.如果包含了嵌入的代码,则 ...

  9. JavaScript基础语法资料

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

随机推荐

  1. Java基础——ArrayList

    Java基础--ArrayList 作用:提供一个可变长度的集合,底层实际上是一个可变长度的数组 格式:ArrayList <E> arr=new ArrayList<>(); ...

  2. C#编程基础之字符串操作

    本文来源于复习基础知识的学习笔记.自用的同时希望也能帮到其他童鞋. 什么是编程语言? 计算机可以执行的指令.这些指令成为源代码或者代码 有什么用? 以人们可读可理解的方式编写指令.人们希望计算机执行指 ...

  3. linux内存(一) 内核空间与用户空间

    来自如下网站 https://www.cnblogs.com/sparkdev/p/8410350.html 内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间 ...

  4. 配置Openfiler做ISCS实验

    在VMware workstation中安装openfiler(linux底层)   系统安装 选择redhat6,64bit   分配30G 2.   3.. 4.5.               ...

  5. OO第一单元

    OO第一单元总结 目录 OO第一单元总结 前言 第一次作业 HW1基本思路 UML类图 代码规模 复杂度分析 方法复杂度 分析 类复杂度 分析 优化策略 第二次作业 HW2基本思路 UML类图 代码规 ...

  6. 老徐和阿珍的故事:ArrayList和LinkedList的效率到底哪个高?

    人物背景: 老徐,男,本名徐福贵,从事Java相关研发工作多年,职场老油条,摸鱼小能手,虽然岁数不大但长的比较着急,人称老徐.据说之前炒某币败光了所有家产,甚至现在还有欠债. 阿珍,女,本名陈家珍,刚 ...

  7. path()的name属性,有什么用?

    官网(参考:命名 URL 模式) 命名 URL 模式: 为了完成反向解析 URL ,你需要像上面那样使用 命名 URL 模式 .用于命名 URL 的字符串可以包含任意字符,并不仅限于 Python 里 ...

  8. SpringBoot 多环境配置文件切换

    背景 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同 ...

  9. Kerberos与各大组件的集成

    1. 概述 Kerberos可以与CDH集成,CDH里面可以管理与hdfs.yarn.hbase.yarn.kafka等相关组件的kerberos凭证.但当我们不使用CDH的时候,也需要了解hdfs. ...

  10. Oracle问题解决记录

    一.前言 oracle这么一个庞大的东西,出点问题真是太常见了.开个博客,用于记录遇到的问题吧. 持续更新. 二.问题列表 归档日志满,引起的问题. 一台服务器,用了很久了,某天,出现了磁盘空间占满的 ...