JS学习二(循环)
JS中的循环结构
【循环结构的执行步骤】
1、声明循环变量;
2、判断循环条件;
3、执行循环体操作;
4、更新循环变量;
然后,循环执行2~4,知道条件不成立。跳出循环。
【while 循环】
while 循环()中的表达式,运算结果可以是各种类型,但是最终结果都会转化为真假,转换规则同if就够:
① Boolean:true为真,false为假;
② String:空字符串为假,所有非空字符串为真;
③ Number:0为假,一切非0数字为真;
④ null/Undefined/NaN: 全为假;
⑤ Object:全为真;
写法:
var num=1; 1.声明循环变量;
while (num<10) { 2.判断循环条件;
document.write(num+"<br>"); 3.执行循环体操作;
num++; 4.更新循环变量;
}
【do-while 循环】
写法:
var num = 10;
do{
document.write(num+"<br>");
num--;
}
while(num>=0);
二者特点:
while循环特点:先判断,再执行;
do-while循环特点:先执行,再判断;即使初始条件不成立,do-while循环也至少执行一次。
【for循环】
1、for循环有三个表达式:① 声明变量;② 判断循环条件;③ 更新循环变量
三个表达式都可以省略,但是两个缺一不可;
2、for循环的执行特点:先判断 再执行,与while相同;
3、for循环三个表达式都可以由多都分组成;第二部分多个判断条件用&&||链接,第一三部分用逗号分隔。
写法:
for(var num=1;num<=10;num++){
document.write(num+"<br>");
}
【循环控制语句】
1、break:跳出本层循环,继续执行循环后面的语句。
如果循环有多层嵌套,则break只能跳出一层。
2、continue:跳过本次循环剩余的代码,继续执行下一次循环。
①对与for循环,continue之后执行的语句,是循环变量更新语句i++;
②对于while、do-while循环,continue之后执行的语句,是循环条件判断;
因此,使用这两个循环时,必须将continue放到i++之后使用,否则,continue将跳过i++进入死循环。
3、return:后续讲解。
JS学习二(循环)的更多相关文章
- node.js学习二---------------------同步API和异步API的区别
/** * node.js大部分api都有同步的方法,同步方法名后面都会带有Sync,js编译的时候,同步代码会立即执行,异步代码会先存到异步池中,等同步代码执行完后它才会执行异步:不会阻塞线程,没有 ...
- 网页3D效果库Three.js学习[二]-了解照相机
camera 上篇大致了解了three.js ,并可以创建一个简单的可动的立方体.下来我们着重了解下camera (照相机),照相机其实就是视角,就像你的眼睛.Three.js有两种不同的相机模式:直 ...
- Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递
[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LE ...
- js 学习二 字符串常用方法
1.字符串长度 string.length var browserType = 'mozilla'; browserType.length; //7 2在字符串中查找子字符串 string.index ...
- 【温故知新】——BABYLON.js学习之路·前辈经验(二)
前言:在上一篇随笔BABYLON.js学习之路·前辈经验(一)中回顾了组内同事们长时间在Babylon开发实践中的总结出的学习之路和经验,这一篇主要对开发中常见的一些功能点做一个梳理,这里只作为温故知 ...
- 我的three.js学习记录(二)
通过上一篇文章我的three.js学习记录(一)基本上是入门了three.js,但是这不够3D,这次我希望能把之前做的demo弄出来,然后通过例子来分析操作步骤. 1. 示例 上图是之前做的一个dem ...
- node.js学习笔记(三)——事件循环
要理解事件循环,首先要理解事件驱动编程(Event Driven Programming).它出现在1960年.如今,事件驱动编程在UI编程中大量使用.JavaScript的一个主要用途是与DOM交互 ...
- 【转】Backbone.js学习笔记(二)细说MVC
文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Bac ...
- ReactJS入门学习二
ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...
随机推荐
- Mybatis 调用存储过程,使用Map进行输入输出参数的传递
做个记录,以备后用 java代码: public String texuChange() throws Exception { try { ...
- 用vue写添加数据、删除数据、筛选数据表格
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 序列化之protobuf与avro对比(Java)
最近在做socket通信中用到了关于序列化工具选型的问题,在调研过程中开始趋向于用protobuf,可以省去了编解码的过程.能够实现快速开发,且只需要维护一份协议文件即可. 但是调研过程中发现了pro ...
- SolrCloud(一)搭建Zookeeper
搭建Zookeeper 三台服务器: AMouse: 192.168.3.201 BCattle : 192.168.3.202 Ctiger : 192.168.3.203 一 下载Zookee ...
- QT 延时函数设置
QT 的延时函数分为非阻塞延时 和 阻塞型延时 非阻塞延时: void GreenPass3::delaymsec(int msec){ QTime dieTime = QTime::curre ...
- python学习===计算字符串中子串出现的次数。
if __name__ == '__main__': str1 = input('input a string: \n') str2 = input('input a sub string: \n') ...
- JavaScript实现浏览器本地的图像移动、大小调整和裁剪
本文介绍如何使用和HTML5 Canvas元素来移动.调整大小和裁剪图像,这些技术适用于图片编辑器.照片分享等应用场景. 一般而言图像的剪裁会放在服务端进行,但是图片传送会消耗较多的流量.借助HTML ...
- flume 1.7 的配置
Apache Flume是一个分布式的.可靠的.高效的日志数据收集组件:我们通常使用Flume将分散在集群中多个Servers的log文件,汇集到中央式的数据平台中,以解决"从离散的日志文件 ...
- iOS 10 UserNotification框架解析 – 本地通知
iOS 10以前的通知比较杂乱,把本地通知和远程通知分开了,诞生了许多功能类似的API,很容易让初学者犯迷糊.而iOS 10的通知把API做了统一,利用独立的UserNotifications.fra ...
- this指针的值
this指针指向的是对象的地址,与对象第一个成员变量的关系是怎样的呢?看下面这个例子: struct CPlex{ CPlex* pNext; void* data() { return this+1 ...