JavaScript学习笔记——流程控制
javascript流程控制
流程:就是程序代码的执行顺序。
流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行。
一、顺序结构
按照书写顺序来执行,是程序中最基本的流程结构。
二、选择结构(分支结构、条件结构)
根据给定的条件有选择的执行形相应的语句。
(1) if else if else
1.单路分支
//条件可以是表达式也可以是任何的数据类型
//大括号会把他里面的代码当作一个整体来运行,如果只有一条语句,可以省略大括号
if(条件){
条件成立执行的语句
}
2.双路分支
if(条件){
条件成立的时候执行的代码
}else{
条件不成立的时候执行的代码
}
3.多路分支
if(条件1){
条件1成立执行的代码
}else if(条件2){
条件2成立执行的代码
}else if(条件3){
条件3成立执行的代码
}......else{
如果上述条件都不成立执行的代码
}
4.嵌套分支
if(条件1){
if(){
}else if(){
}....
}else if(条件2){
条件2成立执行的代码
}else if(条件3){
条件3成立执行的代码
}......else{
如果上述条件都不成立执行的代码
}
(2)
switch(变量任何的数据类型){
case 值1:
表达式1;
break;
case 值2:
表达式3;
break;
.........
defalut:
表达式
}
多个选择进行相应的匹配
*************************************************
1.当判断某种范围的时候最好用if语句,当判断单个值时候用switch
2.条件满足的情况不可以重复,会发生不可预期的错误。
*************************************************
三、循环结构
javascript 循环结构中包含以下三种循环
for()循环
while()循环
do...while()循环。
for()循环: 重复执行,符合条件的代码段。
在for循环中须注意的一点:初始值与循环条件之间须用“;”分号分隔开来。
语法结构:
for(初始值;循环条件;值的递增与递减){
循环体代码;
}
示例:
<script type="text/javascript">
var arr=new Array(1,2,3,4,5,6);
alert(arr.length);
for(i=0;i<arr.length;i++){
document.write(arr[i]);
}
</script>
while循环,当满足循环条件时,执行循环。
示例:
<script>
var num=1; //初始化变量的值;
while(num<=6){//循环条件
document.write(num+"<br/>");
num++; //值递增1;
}
</script>
do...while()循环;
语法结构:
do{
代码块;
}while(循环条件)
do...while循环,先执行一次,再判断条件是否符合;如符合,继续执行循环体中的代码块。
示例:
<script>
var num=0;
do{
document.write(num);
num++;
}while(num<10)
</script>
javascript流程控制-跳转语句、with语句
四、跳转语句
在循环控制语句中,当 满足指定条件 的时候,退出循环 或者是退出 当前 循环的语句。
1.break;
格式:break;
跳出并且终止循环,如果后面有代码,则继续往下执行。
2.continue;
格式:continue;
跳出并且终止当前的循环,如果下个值仍满足循环条件,则继续循环。
***********************************************************
break:
A.switch,指的是当满足某个条件后,退出switch语句
B.用在循环语句当中,跳出并且终止循环,如果后面有代码,则继续往下执行。
continue:
A.只能用在循环语句当中, 跳出并且终止当前的循环,如果下个值仍满足循环条件,则继续 循 环。
B.最好用适当的语句代替continue
***********************************************************
五、标签语句:
用来退出多层循环
格式:
out:
for (var i=0; i<; i++) {
document.write("第一层循环:"+i);
document.write("<br/> ");
for (var j=0; j<; j++) {
if(j==3){
continue out;
}
document.write("第二层循环:"+j);
}
document.write("<br/>");
}
alert("我退出去了");
标签名:语句;
注意:标签名只可以作用于break 或continue,可以用于跳出两层循环
六、
with(){
}
//with语句 用于设置代码在 特定对象中 的 作用域。
// with(document){
// write(1);
// write(2);
// write(3);
// write(4);
// write(5);
// write("后盾网");
// }
就是把document.write(1);
document.write(2);....前面的document省略
用于设置代码在对象中的作用域。
*************************************************
不建议使用。
*************************************************
动态地改变document的title
//document.title="后盾网";
// var a="后盾网";
// var title="后盾网视频教程";
// with(document){
// title=a;
// }
JavaScript学习笔记——流程控制的更多相关文章
- Go语言学习笔记-流程控制(二)
Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...
- go学习笔记-流程控制(if/else,for/range)
流程控制(if/else,for/range) if if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事. func testIf() { num := 10 if num &l ...
- python学习笔记---流程控制
二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...
- Java学习笔记-流程控制
在Java中,最常见的就是顺序结构,另外,还有其他的一些的结构,选择,循环等,这些程序结构的加入,使得程序代码更有选择性 判断结构 if语句 三种格式: if(条件表达式) { 执行语句; } if( ...
- C学习笔记-流程控制
常用的流程图符号 起止框用于表示流程的开始或结束: 输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容: 判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后 ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- Java程序猿的JavaScript学习笔记(5——prototype和Object内置方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
随机推荐
- RabbitMQ 发布/订阅
我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式). 为了验证这种模式,我们准备构建一个简单的日志系统.这个系统包含两类程序,一类程序发动日志,另一类程序接收和 ...
- java 上传图片 并压缩图片大小
Thumbnailator 是一个优秀的图片处理的Google开源Java类库.处理效果远比Java API的好.从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生 ...
- 强连通 HDU 1269
n点m边 求是否能从任意a->b b->a 强连通分量等于1 #include<stdio.h> #include<algorithm> #include<s ...
- 100735D
排序+搜索 为什么这是对的呢?其实我不是很清楚 大概是这个样子的:我们希望构成三角形的三个数尽可能集中,因此在搜索中贪心地选取从最小依次往上,选取三条边,但是总感觉有反例,先挖个坑... #inclu ...
- 计算&IO密集型任务的 优化
问题原因: 最近由于工作实际需求,需要对某个计算单元的计算方法进行重构.原因是由于这个计算单元的计算耗时较长,单个计算耗时大约在1s-2s之间,而新的需求下,要求在20s内对大约1500个计算单元计算 ...
- OneThink学习笔记02----数据字典(即OneThink项目数据库里的表及其字段)
action 字段 类型 注释 id int(11) unsigned 自增主键 name char(30) 行为唯一标识 title char(80) 行为说明 remark char(140) 行 ...
- c# 读取嵌入式文件
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Reflect ...
- C++ 序列式容器之vector
什么是容器 容器,顾名思义,是用来容放东西的场所.C++容器容放某种数据结构,以利于对数据的搜寻或排序或其他特殊目的.众所周知,常用的数据结构不外乎:数组array, 链表list, 树tree ...
- Hive 的 map join
学习自 http://blog.csdn.net/xqy1522/article/details/6699740 1. Map Join 的使用场景: 关联操作中有一张表非常小 不等值的链接操作 2. ...
- ubuntu 通过命令将数据复制到u盘
自己现在也不好意思和别人说自己熟悉linux了,自己用linux,也是当做桌面系统用了,很少熟悉那些linux命令结果上次linux桌面图形界面进不去了只能用命令行,经过几个晚上的折腾终于弄好,现在记 ...