javascript快速入门3--分支判断与循环
分支结构
- 单一选择结构(if)
- 二路选择结构(if/else)
- 内联三元运算符 ?:
- 多路选择结构(switch)
var condition = true;
if (condition) {
alert("我将出现!");
}
condition = false;
if (condition) {
alert("我不会出现!");
} else {
alert("我会出现!");
}
condition ="some string";
if (condition) {
alert("可以直接对任何数据类型进行if判断,在判断时计算会自动将其转换成布尔值!");
}
var val = condition?"当为true时我将被返回":"当为false时我将被返回";
alert(val);//将输出"当为true时我将被返回"
对于if..else语句,如果要执行的语句只有一条,可以不使用“{}”,但这种写法并不推荐.但确实这样可以简化代码:
var str ="one";
if (str=="one") alert("str的值为字符串'one' !");
else alert("not one");
虽然JavaScript中没有if .... elseif 结构,但可以使用if...else的简写方式得到
//为了判断用户输入的成绩的范围,我们使用了多重嵌套的if .. else语句
var num = window.prompt("请输入XXX的成绩!","");
num *=1;//window.prompt方法始终只返回字符串,用这样的方法将其转换成数字
if (isNaN(num) && num) {//不能将其它值转换成数字时将返回NaN,可以用内置的isNaN判断值是否是NaN
alert("您输入的不是一个数字!");
} else {
if (num<=100 && num>=90) {
alert("Excellent!");
} else {
if (num =80) {
alert("Good!");
} else {
if (num < 80 && num >= 70) {
alert("So so!");
} else {
if (num < 70 && num >=60) {
alert("Be careful !!!");
} else {
if (num < 60 && num >= 0) {
alert("Oh, NO!");
} else {
alert("USB!");
}
}
}
}
}
}
//上面的代码由于用了多重的if..else嵌套,显得非常的混乱,简化只须将else后的花括号去掉就行了
// if (...) {...}这算是一句
if (isNaN(num)) {
alert("您输入的不是一个数字!");
} else if (num<=100 && num>=90) {
alert("Excellent!");
} else if (num =80) {
alert("Good!");
} else if (num < 80 && num >= 70) {
alert("So so!");
} else if (num < 70 && num >=60) {
alert("Be careful !!!");
} else if (num < 60 && num >= 0) {
alert("Oh, NO!");
} else {
alert("USB!");
}
//看上去清晰多了,但要注意的是,JavaScript中没有elseif 这样的语法,所以上的else if之间是有空格的
用于进行多次判断的switch语句
switch(condition) { //switch本来就是跳转的意思(又称为“开关”),所以switch语句就是判断情况,跳到符合的情况开始执行
case 4:
alert("c的值是4");
case 3:
alert("c的值肯定大于等于3");
case 2:
alert("c的值肯定大于等于2");
case 1:
alert("c的值肯定大于等于1");
}
//可以使用 break来只执行符合一个条件的语句
switch(condition) {
case 4:
alert("c的值是4");
break;
case 3:
alert("c的值是3");
break;
case 2:
alert("c的值是2");
break;
case 1:
alert("c的值是1");
break;
}
var condition="one";
switch(condition) {//switch不但可以用来判断数字,还可以判断字符串,甚至是不定的变量
case "one":
alert("condition的值是字符串'one' !");
break;
case "three":
alert("condition的值是字符串'three' !");
break;
case "four":
alert("condition的值是字符串'four' !");
break;
case "five":
alert("condition的值是字符串'five' !");
break;
default://当所有情况都不匹配时,将执行default语句后的
alert("我们要万无一失!condition什么都不是!");
}
循环
循环用来指明当某些条件保持为真时要重复的动作。当条件得到满足时,就跳出循环语句。在 JavScript 中有四种循环结构可用。
- 由计数器控制的循环(for)
- 在循环的开头测试表达式(while)
- 在循环的末尾测试表达式(do/while)
- 对对象的每个属性都进行操作(for/in)
for 语句指定了一个计数器变量,一个测试条件,以及更新该计数器的操作。在每次循环的重复之前,都将测试该条件。如果测试成功,将运行循环中的代码。如果测试不成功,不运行循环中的代码,程序继续运行紧跟在循环后的第一行代码。在执行该循环后,计算机变量将在下一次循环之前被更新。
for (var i=0;i<10;i++) {//for循环的圆括号里面须放三个句子,分别是1.初使化计数器 2.判断条件 3.更新计数器
alert("i当前的值为"+i);
}
其实for循环语句完全可以这样写,下面的代码和上面的效果是一样的(虽然没有必要,但从这样的代码可清楚看出for循环如何工作的)
var i=0;//循环进行之前初始化i
for(;;) {//for语句括号中必须有三个语句,但可以为空语句
if (i<10) {//当条件为true时才执行代码
alert("i当前的值为"+i);
} else {//当条件为false时就退出循环
break;//使用break退出循环
}
}
一个死循环最能说明while的工作方式了(但这样的错误我们绝不能在实际编程中出现)
while (true) {
alert("你关不掉我的!");//这就是网上那些所谓的高手写的“关不上的窗(周传雄新歌,力荐)”代码
}
do..while循环与while循环不同之处在于它至少将代码块中的代码执行一次
do {
alert("我肯定会出现一次的");
} while (false);
而对于for ... in循环,我们将在讲解数组和对象时使用
javascript快速入门3--分支判断与循环的更多相关文章
- javascript中的分支判断与循环
分支判断与循环 分支结构 单一选择结构(if) 二路选择结构(if/else) 内联三元运算符 ?: 多路选择结构(switch) var condition = true; if (conditio ...
- JavaScript快速入门(四)——JavaScript函数
函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)——JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...
- 3. Python中的分支判断、循环
本文利用的是Python 3.x版本,建议学习3.x版本 Python中的分支判断.循环 1. 分支条件判断 1.1 比较操作 以下是数之间常见的比较操作,例如5>3就是数学意义上的比较,5是大 ...
- javascript快速入门21--DOM总结
跨浏览器开发 市场上的浏览器种类多的不计其数,它们的解释引擎各不相同,期待所有浏览器都一致的支持JavaScript,CSS,DOM,那要等到不知什么时候,然而开发者不能干等着那天.历史上已经有不少方 ...
- 【从无到有】JavaScript新手教程——2.分支结构和循环
介绍完JS的简介和向量以及运算符,大家对JS也有了初步的了解和认识,今天带大家来看一下JS中常用的分支结构以及循环结构是怎么使用的 [JS中的分支结构] 一.[if-else结构] 1.结构写法: i ...
- javascript - 状态模式 - 简化分支判断流程
状态模式笔记 当一个对象的内部状态发生改变时,会导致行为的改变,这像是改变了对象 状态模式既是解决程序中臃肿的分支判断语句问题,将每个分支转化为一种状态独立出来,方便每种状态的管理又不至于每次 ...
- javascript快速入门
这个在w3school在线文档讲解的很详细,还能在线练习. 所以我只写一些入门的东西和最常用的总结以及注意事项: JavaScript 是脚本语言 一般被人们称为JS,Jquery就是对js语言的封装 ...
- Javascript快速入门(上篇)
Javascript的熟练之路,小弟来了. JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript ...
- Javascript快速入门(下篇)
Javascript, cheer up. Ajax:其通过在Web页面与服务器之间建立一个额外的处理层,这个处理层就被称为Ajax引擎,它解释来自用户的请求,在后台以异步的方式处理服务器通信,其结构 ...
随机推荐
- certbot 免费httos证书申请
https://keelii.com/2016/06/12/free-https-cert-lets-encrypt-apply-install/
- IOS工程自动打包并发布脚本实现
http://blog.csdn.net/ccf0703/article/details/8588667 文章首发地址:http://webfrogs.me/2013/02/18/ios-automa ...
- 3.shell位置参数变量
当我们执行一个shell脚本时,希望可以获取命令行里的参数信息,就可以使用位置参数变量.比如 sh ./a.sh 100 200,就是一个执行shell的命令行,可以在a.sh脚本中获取到参数信息 语 ...
- python几个重要的函数(lambda,filter,reduce,map,zip)
一.匿名函数lambda lambda argument1,argument2,...argumentN :expression using arguments 1.lambda是一个表达式,而不是一 ...
- 使用python获取整月每一天的系统监控数据生成报表
1.安装阿里开源监控工具tsar tsar官方网站 wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-c ...
- AC日记——逃离僵尸岛 洛谷 P3393
逃离僵尸岛 思路: spfa: 代码: #include <cstdio> #include <cstring> #include <iostream> #incl ...
- Cookie和session的简单理解和应用
一.COOKIE 1.http协议建立连接后,无法保持状态:但实际情况,网站和服务器要进行通讯,需要“保持状态”,因此cookie应运而生:浏览器登陆web服务器后, Web 服务器产生包含有关用户的 ...
- (14)python 文件和流
打开文件 f=open('C:\Temp.txt') 读取数据 f.read(); 关闭文件 f.close();#关闭后将无法再读取 打开文件的方式 不写模式,默认是只读模式 1.r 打开只读文件, ...
- (2)C# 创建ef oracle
1.NUGet下载 2.下载 Oracle Developer Tools for Visual Studio https://www.oracle.com/technetwork/develope ...
- 《Machine Learning》(第一章)序章
关键词:机器学习,基本术语,假设空间,归纳偏好,机器学习用途 一.机器学习概述 机器学习是一门从数据中,经过计算得到模型(Model)的一种过程,得到的模型不仅能反应出训练数据集中所蕴含的规律,并且能 ...