刘强1109 JavaScript基础二(分支与循环结构)
【if-else结构】
1、结构的写法:
if(判断条件){
条件为true时,执行if{}
} else{
条件为false时,执行else{}
}
2、注意事项:
① else{}语句块,可以根据情况进行省略。
② if和else后面的{}可以省略,但是省略后,if和else后面只能跟一条语句,所以不建议省略{}。
3、 if中的()中的判断条件,支持的情况:
① Bolleam:true为真,false为假;
② String:空字符串为假,所有非空字符串为真;
③ Number:0为假,一切非零数字为真;
④ null undefined nan:全为假;
⑤ Object:全为真;
【多重if、阶梯if结构】
1、结构写法:
if(判断条件一){
条件一成立时,执行if{}
} else if(条件二){
条件一不成立&&条件二成立,执行操作
}else{
上述条件都不成立时,执行操作
}
2、多重if结构中,各个判断条件是互斥的,执行选择其中一条路执行,遇到正确选项并执行完以后。直接跳出结构
不在判断后续分支。
【嵌套if结构】
1、结构写法:
if(条件一){
条件一成立
if(条件二){
条件一成立&&条件二成立
}else{
条件一不成立&&条件二不成立
}
}else {
条件一不成立
}
2、在嵌套if结构中,如果省略{},则else结构永远属于离他最近的一个if结构。
3、嵌套结构可以多层嵌套,但是一般不推荐超过3层。能多重if结构的一般不推荐使用嵌套结构。
【switch-case结构】
1、结构写法:
switch (){
case value:
break;
default:
break;
}
2、注意事项
①、switch结构()中的表达式,可以使用各种js支持的数据类型。
②、switch结构在进行判断的时候,使用的===判断。
③、case后面的表达式可以是各种数据类型,但是值要求各不相同,否则也只会执行第一个case。
④、break作用:
执行完case代码后,跳出当前switch结构
缺少break后果:
从第一个正确的case项开始,执行后面所有的case和default;
原因:
⑤、switch结构在进行判断的时候,只会判断一次正确答案,当遇到正确的的case之后,将不会判断后续的项目
⑥、switch结构的执行效率比多重if快,再多路分支结构中,推荐优 先使用switch结构。
【循环结构 的执行步骤】
1、声明循环变量
2、判断循环条件
3、执行循环体操作
4、更新循环变量
然后循环执行2-4,直到条件不成立时,跳出循环。
while()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则同if结构。
while循环的特点:先判断,后执行;
do-while循环特点:先执行,后判断,即使初始条件不成立,do-while循环也要执行一次。
【for循环】
1、for循环有三个表达式:①声明循环变量②判断循环条件③更新循环标量;
三个表达式之间用;分隔;
for循环三个表达式都可以省略,但是两个;缺一不可;
2、for循环执行特点:先判断,后执行,与while相同;
3、 for循环三个表达式都可以有多个部分组成;第二部分多个判断条件用|| &&链接,第一三部分用,分隔;
【循环控制语句】
1、break:跳出本层循环,继续执行循环后面的语句。
如果循环有多层嵌套,则break只能跳出一层。
2、continue:跳过本次循环剩余的代码,继续执行下一次循环。
① 对于for循环,continue之后执行的语句,是循环变量更新语句i++。
② 对于while、do-while循环,continue之后执行的语句,是循环条件判断;
因此,使用这两个循环时,必须将continue放在i++之后使用,否则,continue将跳过i++导致死循环。
3、return:直接结束当前循环,不再执行下面的代码;多用于函数;
以下是三位水仙花数和斐波那契序列的前20项的程序
<script type=" text/javascript">
/*找出所有的水仙花数*/
for ( var i = 100;i < 1000;i++) {
var a = i%10;
var b = parseInt(i/10%10);
var c = parseInt(i/100);
if (i == a*a*a + b*b*b + c*c*c) {
document.write(i+"<br>");
}
}
</script>

<script type="text/javascript">
/*
输入斐波那契序列的前20项:
1、1、3、 5、 8、 13、 21、 34······
*/ var a=1;
var b=1;
var c;
document.write("1 1 ");
for (var i=3;i<=20;i++) {
c=a+b;
document.write(c+" ");
if(i%5==0)document.write("<br>")
a=b;
b=c;
} </script>

刘强1109 JavaScript基础二(分支与循环结构)的更多相关文章
- 2、JavaScript 基础二 (从零学习JavaScript)
11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...
- python分支和循环结构
本文收录在Python从入门到精通系列文章系列 1. 分支结构 1.1 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构.然而仅有顺序结构并不能解决 ...
- Javascript基础二(程序的三大结构)
程序的三大结构: 顺序结构,选择结构,循环结构 程序的单分支结构-if语句: 当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句 if(条 ...
- shell分支与循环结构
1. 条件选择 1.1 条件判断分支介绍 格式 if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMM ...
- Java语法基础(四)----循环结构语句
一.循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则 ...
- JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象
创建 function 对象的两种方法: 方式一(推荐) function func1(){ alert(123); return 8 } var ret = func1() alert(ret) 方 ...
- javascript基础二数据类型
1.数据类型 javascript中的基本数据类型有4中,undefined,number,string,boolean 1.1 typeof关键字 typeof关键字可以获取一个变量的的类型.先举个 ...
- JavaScript 基础二
JavaScript 事件处理程序就是一组语句,在事件(如点击鼠标或移动鼠标等)发生时执行 ●当事件之间互相影响时,需要有个先后顺序,这时我们声明一个Bool值来做约束 浏览对象: window 对象 ...
- JavaScript 基础(二)数组
字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...
随机推荐
- vue2.0 网页标题更新实现思路
一.注册全局指令 1.注册一个全局指令 Vue.directive('title', { inserted: function (el, binding) { document.title = el. ...
- 深入理解计算机系统chapter8
进程轮流使用处理器 父进程调用fork来创建一个新的子进程 回收子进程 waitpid/wait 非本地跳转:
- Java客户端调用.NET的WebService
项目需要去调用.NET的WebSrevice,本身是Java,研究了半天,终于有些头绪,记下来. 1,新建.NET WebService.只在原方法上加上一个string类型的参数str [WebMe ...
- 笨鸟先飞之ASP.NET MVC系列之过滤器(02授权过滤器)
授权过滤器 概念介绍 在之前的文章中我们已经带大家简单的了解了下过滤器,本次我们开始介绍授权过滤器. 我们之前提到过授权过滤器在认证过滤器之后,其他过滤器和方法被调用之前运行,而授权过滤器和它名字的含 ...
- RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
Click Element关键字用来模拟点击APP界面上的一个元素,该关键字接收一个参数[ locator ] ,这里的locator指的是界面元素的定位方式. 示例1:使用Click Element ...
- JavaWeb(六)之MVC与三层架构设计
前言 这段时间要学习hadoop,但是也希望把自己的web知识复习起来.所以花自己休息的时间把这些web的知识好好的巩固一下!没有什么可以阻挡我前进的脚步. 首先我们先了解一下: C/S:客户端 / ...
- mysql客户端(Navicat)远程登录操作遇到问题1142
遇到此问题的原因是:用户user对数据库test 无权限操作. 解决方法:mysql> grant all privileges on test.* to user@'localhost' id ...
- ionic构建APP--简单操作实现APP制作
ionic--基于AngularJS的app框架 1安装ionic .HBuilder创建APP项目,导入ionic的css,js(fonts)文件. .导入ionic.css和ionic.bundl ...
- php 连接mysql数据库以及增删改查
php 连接数据库 一般是用面向对象的方法,需要先创建一个对象,即造一个连接对象,然后再写sql语句,(增改查删),最后执行sql语句 其中在创建连接对象时 我们用到的是MySQLI 是不区分大小写 ...
- $http设置headers来实现IE不缓存url请求的资源
var getOrders = function(){ var deferred = $q.defer(); $http({ method:'get', url:'/getOr ...