JavaScript之语句,循环
JavaScript中语句主要分为三类:顺序,分支,循环。
1.顺序语句:
按照循序依次执行,最普通常见的语句,这里不多赘述。
其结构如下

2.分支语句:
根据条件判断,不同的结果执行不同的语句。
其大致结构如下

常用的分支语句有
if……else……和switch……case……
if语句的几种
1.
if(判断条件){
条件成立时执行
}
举例:
var i=12;
if(i>10){
alert("i大于10");
}
2.
if(判断条件){
条件成立时执行
}else{
条件不成立时执行
}
举例:
var i=9;
if(i>10){
alert("i大于10");
}else{
alert("i不大于10");
}
3.
if(判断条件){
条件成立时执行
}else if(第二个判断){第二个判断成立
}else{
两个判断都不成立时执行
}
举例:
var i=9;
if(i>10){
alert("i大于10");
}else if(i==10){
alert("i等于10");
}else{
alert("i小于10");
}
4.
if(第一个判断){
if(第二个判断){
两个判断都成立
}else{第一个判断成立,第二个判断不成立
}
}else{两个判断都不成立
}
举例:
var i=10;
if(i>=10){
if(i==10){
alert("i=10");
}else{
alert("i>10");
}
}else{
alert("i<10");
}
switch……case……语句:
switch语句适用于分支较多的情况
switch(变量){
case 判断1:
执行的语句;break;
case 判断2:
执行的语句;break;
……
default:
执行语句;
}
注意:break是跳出当前{}语句
实例:
var i=parseFloat(prompt("请输入一个数字"));
var k=prompt("请输入运算符");
var l=parseFloat(prompt("请在输入一个数字"));
switch(k){
case "+":
alert(i+l);break;
case "-":
alert(i-l);break;
case "*":
alert(i*l);break;
case "/":
alert(i/l);break;
default:
alert("输入有误");
}
这还是一个简单的计算过程。
需要注意的是:用户输入的是字符串,所以数字需要用parseInt(),parseFloat()转换为整数或小数,而case中要用“”代表运算符,不能直接用case +
循环语句:


循环语句主要有for循环和while循环
fo循环:
for循环的特点是控制循环的次数
四要素:初始值 循环条件 状态改变 循环体
for(初始值;循环条件;状态改变){
循环体;
}
其执行过程为:
初始值-判断条件-循环体-状态改变
-判断条件-循环体-状态改变
-判断条件-循环体-状态改变
……
判断条件-循环结束
for(i=0;i<100;i++){
alert(i);
}
再循环中有几个需要注意的点:
break:跳出整个循环
for(i=0;i<100;i++){
alert(i);
break;
}
则只输出一个0.然后结束
continue:跳出本次循环
for(i=0;i<100;i++){
if(i==5){
continue;
}
alert(i);
}
4之后跳过5,直接6
i++与++i:
var a=i++;
把i的值赋给a然后i+1
也就是:
var a=i;
i=i+1;
var b=++i;
i+1然后把i的值赋给b
i=i+1;
var b=i;
举例:
var i=1;//i=1
var a=i++;//把i的值也就是1赋给a,a=1,然后i自增,i=2
var b=++i;//i自增,i=3,把的值i赋给b,b=3
alert("a="+a+","+"b="+b);

while循环:
while循环的特点是操作不确定循环次数的循环
while(条件,可以为true){
}
var i=0;
while(true){
alert(i);
if(i>10){
break;
}
i++;
}
上代码执行后,会0,1,2,3…依次弹出,直到11。
下面是几个简单的循环例子:
//求100内奇数
var str="";
for(var i=0;i<100;i++){
if(i%2==1){
str=str+i+","+"\n";
}
}
alert(str);

首先定义一个空的字符串str,然后循环在i<100,中间嵌套if判断i除以2的余数为1,然后把字符串拼接在一起,需要注意的是/n换行,上图是没有换行的结果
这里需要注意一下:
转义字符,\反斜杠开头,\n \r 换行 \t制表符 \" 正常“”
//100以内和7相关的数
var str=""; for(var i=0;i<100;i++){ if((i%7==0)||(i%10==7)||((i-i%10)/10==7)){ str=str+i+","+"\n"; } } alert(str);
输出100以内和7相关的数,这里需要注意的是,将几个和7相关的判断条件用||一起放在判断条件中,代表任何一个成立都可以
//输出乘法口诀表
for(var i=1;i<10;i++){
for(j=1;j<10;j++){
if(i<=j){
alert(i+"*"+j+"="+i*j);
}
}
}
输出乘法口诀表,
这里需要注意的是乘法口诀表,也就是这里要定义两个变量来相乘,要用两个循环嵌套起来
//篮球5米落下,每次弹起高度是原来的0.3,求弹起第6次高度
var h=5;
for(var i=0;i<6;i++){
h=h*.3;
}
alert(h);

这里需要注意的是,首先定义原本的高度h=5米,然后用for循环控制循环6次,每次h乘以0.3
//一个芝麻0.000001kg,棋盘32个格子,,第一个格子1个,二个2个,三个4个,放满需要多重的芝麻
var sum=0;//总数
var a=1;//每个格子数量
for(var i=0;i<32;i++){ //i=1,循环31次,如果i=0,循环32次,如果sum为1,所以循环应该是31次
sum=sum+a; //
a=a*2;//后一个格子等于前一个格子数量两倍
}
alert(sum*.000001);

这里尤其需要注意的是,顺序,思维和语句的顺序,正常来看,首先还没有放的时候,总数sum=0,然后在循环中循环的初始值i也要为0,这样循环32次,如果i=1,则只会循环31次,然后sum=sum+a;第一个格子的数量为1,然后a=a*2代表下一个格子的芝麻数量。
之前用的另一串代码
var sum=1;//总数
var a=1;//每个格子数量
for(var i=1;i<32;i++){ //i=1,循环31次,如果i=0,循环32次,如果sum为1,所以循环应该是31次
a=a*2;//后一个格子等于前一个格子数量两倍
sum=sum+a;
}
alert(sum*.000001);
在这里,第一个格子已经放了一个芝麻,所以sum=1,因此i=1控制循环31次而不是32次,这样先a乘以2在sum=a。
JavaScript之语句,循环的更多相关文章
- 你可能不知道的java、python、JavaScript以及jquary循环语句的区别
一.概述 java循环语句分为四种形式,分别是 while, do/while, for, foreach: python中循环语句有两种,while,for: JavaScript中循环语句有四种, ...
- javascript里的循环语句
前序:我一直对于for跟for..in存在一种误解,我觉得for都能把事情都做了,为啥还要for...in...这玩意了,有啥用,所以今天就说说JavaScript里的循环语句. 循环 要计算1+2+ ...
- JavaScript基础——实现循环
循环是多次执行同一段代码的一种手段.当你需要在一个数组或对象集上重复执行相同的任务时,这是非常有用的. JavaScript提供执行for和while循环的功能. 1.while循环 JavaScri ...
- html+css+javascript实现列表循环滚动示例代码
使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内 ...
- javascript里for循环的一些事情
今天在给一个学妹调她的代码BUG时,她的问题就是在一个for循环里不清楚流程的具体流向,所以导致了页面怎么调都是有问题,嗯确实你如果不清楚语句流向很轻易就会出问题,所以说for循环不会用或者说用的不恰 ...
- 深入探究javascript的 {} 语句块
今日学习解析json字符串,用到了一个eval()方法,解析字符串的时候为什么需要加上括号呢?摸不着头脑.原来javascript中{}语句块具有二义性,不加括号会出错,理解这种二义性对我们理解jav ...
- 从头开始学JavaScript (六)——语句
原文:从头开始学JavaScript (六)--语句 一.条件分支语句:if 基本格式: if (<表达式1>){ <语句组1>}else if (<表达式2> ...
- JavaScript for...in 循环
JavaScript for...in 语句循环遍历对象的属性. 语法 for (对象中的变量) { 要执行的代码 } 注释:for...in 循环中的代码块将针对每个属性执行一次. 实例 循环遍历对 ...
- javascript递归、循环、迭代、遍历和枚举概念
javascript递归.循环.迭代.遍历和枚举概念 〓递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法.递归一词还较常用于描述以自相似方法重复事物的过程.例如,当 ...
随机推荐
- ES6入门
整理了ES6常用的一些语法,跟大家分享(promise.generator什么的还没有梳理清楚,后续再更新...) 1⃣️ 变量声明-let 与 const (首先关于测试结果:这里有个小问题,如果用 ...
- C语言精要总结-内存地址对齐与struct大小判断篇
在笔试时,经常会遇到结构体大小的问题,实际就是在考内存地址对齐.在实际开发中,如果一个结构体会在内存中高频地分配创建,那么掌握内存地址对齐规则,通过简单地自定义对齐方式,或者调整结构体成员的顺序,可以 ...
- VMWare下ubuntu无法全屏的问题解决
遇到的情况: 在VMWare中,安装ubuntu 最新版操作系统(16.04).运行该系统,发现ubuntu系统在虚拟机中,只能居中显示,全屏也只能占一半显示屏幕.怎么看,怎么不舒服. 分析问题: 一 ...
- BZOJ 1266: [AHOI2006]上学路线route
题目描述 可可和卡卡家住合肥市的东郊,每天上学他们都要转车多次才能到达市区西端的学校.直到有一天他们两人参加了学校的信息学奥林匹克竞赛小组才发现每天上学的乘车路线不一定是最优的. 可可:"很 ...
- 『算法』Dinic求最大流
作为一个[NOIP+,省选-]算法,这个算法真的很暴力.同样是最大流,跑得比EK不知快到哪里去了.首先是一个 广度优先搜索() { 按照可用路径上节点的访问顺序标号. 然后判断一下能否到汇点. 如果不 ...
- 用php(session)实现留言板功能----2017-05-09
要实现留言功能,发送者和接受者必不可少,其次就是留言时间留言内容. 要实现的功能: 1.登录者只能查看自己和所有人的信息,并能够给好友留言 2.留言板页面,好友采取下拉列表,当留言信息为空时,显示提示 ...
- 调试 Dockerfile - 每天5分钟玩转 Docker 容器技术(15)
包括 Dockerfile 在内的任何脚本和程序都会出错.有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile. 先回顾一下通过 Dockerfile 构建镜像的过程: ...
- MySQL的SELECT ...for update
最近的项目中,因为涉及到Mysql数据中乐观锁和悲观锁的使用,所以结合项目和网上的知识点对乐观锁和悲观锁的知识进行总结. 悲观锁介绍 悲观锁是对数据被的修改持悲观态度(认为数据在被修改的时候一定会存在 ...
- ThreadGroup详解
①定义线程组 ThreadGroup类中有 2个构造方法,它们用来定义线程组.这 2个构造方法的使用格 式如下: public ThreadGroup(String name); public Th ...
- 【企业级框架整合】Springmvc+mybatis+restful+bootstrap框架整合
1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库访问)2. 提供高并发JMS消息 ...