JS基础-分支结构-循环-数组
1.分支结构
1.if结构
语法:
if(条件){
语句块;
}
注意:
1.条件尽量是boolean的,如果不是boolean的,以下条件值,会当做false
if(0){}
if(0.0){}
if(""){}
if(undefined){}
if(null){}
if(NaN){}
ex:
if(35){...} //true
2.if后的{}可以省略
省略后,if只控制下面的第一条语句
建议不要省略{}
2.if...else...结构
语法:
if(条件){
语句块;
}else{
语句块;
}
3.if...else if...else...结构
语法:
if(条件){
语句块1;
}else if(条件){
语句块2;
}else if(条件){
语句块3
...s
}else{
语句块n;
}
练习:
从弹出框中输入1-7的数字,数字分别代表周一到周日,
输入1:打印输出“周一吃红烧肉”
2:“周二吃红烧排骨”
3:“周三吃红烧丸子”
4:“周四吃红烧茄子”
5:“周五吃红烧带鱼”
6和7:“周末减肥”
4.switch...case结构
1.作用:等值判断(===)
2.语法:
switch(值/表达式){
case 值1:
语句块1;
break; //结束switch结构,可选的
case 值2:
语句块2;
break;
....
default:
语句块n;
break;
}
3.特殊用法
执行相同操作时:
switch(值/表达式){
case 值1:
case 值2:
case 值3:
语句块;
}
2.循环
1.特点
1.循环条件:循环的开始和结束
2.循环操作:要执行的相同或相似的语句
2.循环-while
语法:
while(条件){
//循环体-循环操作
//更新循环条件
}
问题:打印输出1-10的数字
练习1:打印1-100之间的所有数字
3.循环的流程控制
1.break
作用:终止整个循环的运行
2.continue
作用:终止本次循环,继续下一次循环
问题:
循环从弹出框中录入信息,并且打印,直到输入exit为止。
练习:
计算1-100之间所有偶数的和
4.循环-do...while
语法:
do{
循环体
}while(条件);
执行流程:
1.先执行循环体
2.再判断循环条件
如果条件为真,则继续执行循环体
如果条件为假,则跳出循环操作
练习:改版循环录入操作
1.从弹出框中循环录入数据并打印在控制台
2.输入exit为止(exit不输出)
练习2:
1.随机生成一个1-100之间的数字
Math.random();生成0-1之间的随机数
var r=parseInt(Math.random()*100)+1;
2.让用户输入一个数字
如果输入的数字比随机数大,提示猜大了;
如果输入的数字比随机数小,提示猜小了;
否则,猜对了!
允许循环猜数
3.输入exit也可以退出游戏。
5.for循环
1.ex:
var i=1; //表达式1
while(i<=100){ //表达式2
console.log(i);
i++; //表达式3
}
2.for语法
for(表达式1;表达式2;表达式3){
循环体
}
ex:
for(var i=1;i<=100;i++){
console.log(i);
}
表达式1:循环条件的声明
表达式2:循环条件的判断
表达式3:更新循环变量
执行流程:
1.先执行表达式1
2.判断表达式2的结果(boolean类型)
3.如果条件为真,则执行循环体,否则退出
4.执行完成循环体后,再执行表达式3
5.判断表达式2的结果
练习:
定义一个函数,打印乘法表中的任意一行
传参,传几打印第几行。
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
...
ex:传4,打印第4行
循环条件:从1开始到line结束
循环操作:循环变量*line=循环变量*line
3.for三个表达式特殊用法
for(表达式1;表达式2;表达式3){}
1.省略表达式
三个表达式可以任意省略,分号不省略。
但一定要在循环的内部或外部将表达式补充完成。
2.表达式1和表达式3允许写多个表达式,多个表达式之间用逗号隔开。
ex:
function sum(){
for(var i=1,sum=0;i<=100;i++){
sum+=i;
}
console.log(sum);
}
4.循环嵌套
1.循环嵌套
在一个循环体内,又出现另一个循环
for(var i=1;i<=10;i++){ //外层循环
for(var j=1;j<=10;j++){ //内存循环
//循环体
}
}
外层循环走一次,内层循环走一轮
练习1:在控制台打印以下图像
*
**
***
****
*****
练习2:打印99乘法表
3.数组
1.什么是数组
在一个变量中保存多个数据
数组是按照线型顺序来排列的-线型结构
2.声明数组
1.语法
1.var 数组名=[];
ex:
var unames=[];
2.var 数组名=[元素1,元素2,元素3];
var unames=["TOM","lilei","lucy"];
3.var 数组名=new Array();
4.var 数组名=new Array(元素1,元素2,元素3);
ex:
var names=new Array("林黛玉","贾宝玉","刘姥姥");
练习:
1.创建一个数组,该数组保存3名学员的姓名
2.再创建一个数组,该数组保存3名学员的年龄
3.在控制台,分别打印输出数组中的值。
2.数组的使用
取值和赋值操作都使用:数组名[下标]
1.为数组元素赋值
数组名[下标]=值;
2.获取数组中的元素
数组名[下标];
3.获取数组的长度
数组长度:数组中元素的个数
属性:length
语法:数组名.length
1.length表示数组的长度,还可以表示即将要插入的元素的下标
ex:
var unames=["Tom","lucy","lilei"];
unames[unames.length]="孙悟空";
unames[unames.length]=prompt();
2.配合循环,遍历数组中每一个元素
for(var i=0;i<=unames.length-1;i++){
i:表示每个元素的下标
unames[i]:取到每一个元素
}
JS基础-分支结构-循环-数组的更多相关文章
- [C语言入门笔记]分支结构与数组
分支结构与数组 什么是分支结构? 分支结构是用户或者程序可以选择下一步执行哪个语句 分支结构有哪些? If If Else If Else If Switch 在初学者的学习过程中第一种和第二种比较普 ...
- [java基础]分支结构(2)
[java基础]分支结构2 switch case /** 文件路径:G:\JavaByHands\if-else\ 文件名称:switchcase.java 编写时间:2016/6/6 作 者:郑晨 ...
- java 基础 03 运算符 分支结构 循环结构
今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...
- Java基础之分支结构循环结构
流程控制语句if(分支结构) 流程控制:流程就是指代码运行过程.控制就是说什么场景可以执行,什么场景不能执行. 1.if语句第一种形式 格式:if(表达式){ 执行的语句: } 2. ...
- VBA基础 - 分支和循环
概要 编程语言的基础除了数据类型, 就是控制结构了. 所谓控制结构, 主要就是分支和循环. 分支 废话不说, 直接示例代码: 单条件判断 1 Sub Test() 2 If 2 > 1 Then ...
- java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)
JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...
- day_4流程控制之分支结构循环结构及for循环
复习一下昨天的内容 1:变量的命名规范 只能由数字 字母 及下划线组成 不能以数字开头 不能与系统关键字重名 _开头有特殊含义 __开头__结尾的变量是魔法变量 支持大小驼峰 ,但建议使用下划线连接语 ...
- JS基础语法---for循环遍历数组
for循环遍历数组 要显示数组中的每个数据,可以如下: var arr=[10,20,30,40,50]; //显示数组中的每个数据 console.log(arr[0]); console.log( ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--数组
1.什么事数组 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦.我们用 ...
随机推荐
- python开发购物车
1 业务需求 商品中心 显示库存的商品 商品能够加入到购物车 个人中心 购物车 修改购物车的商品 下单 完成的订单 订单详情 账户余额 2 代码实现 # 定义全局变量信息 # 商品编号信息 goods ...
- minicom 抓取log
使用minicom也有很长时间了,只用minicom抓过uart log,但是从来没有去保存过这个log,也不知道有这个功能.后来在超级终端中发现有这个功能(传送->捕获文字),想想minico ...
- 论气机之"左升右降"
生命现象源于气机的出入升降运动. “出入废则神机化灭,升降息则气立孤危.故非出入,则无以生长壮老已:非升降,则无以生长化收藏”(<素问·六微旨大论>),升降是气机主要的运动形式之一,是 ...
- 【亲测】关于HTTP协议~
如果有一点点基本的开发者工具基础知识,我们知道:Elements是用来查看网页结构的,也就是可以看到整体的HTML语言:Console是控制台,Network是请求想相应状态. 1)一个Name就是一 ...
- js数据类型检测
目录 1. typeof {} 2. {} instanceof Object 3. {}.constructor === Object 4. Object.property.toString.cal ...
- ajax多个请求执行顺序
先说结论再说原因 结论:比如点击事件触发了两个ajax请求或者更多的请求,是没有执行顺序的,各个请求的快慢完全取决于返回的快慢,或许你在浏览器调试窗口看见的是先发了一个请求,再发了一个,但是完全没有等 ...
- 解决idea下载依赖包慢到出奇
右键项目选中maven选项,然后选择“open settings.xml”或者 “create settings.xml”,然后把如下代码粘贴进去就可以了.重启IDE. <?xml versio ...
- Titanic缺失数值处理 & 存活率预测
1. kaggle泰坦尼克数据titanic完整下载,原作者良心分享 https://download.csdn.net/download/lansui7312/9936840 2. 缺失值处理 # ...
- Jenkins部署报weblogic.deploy.api.tools.deployer.DeployerException: Java heap space
Jenkins部署报weblogic.deploy.api.tools.deployer.DeployerException: Java heap space异常 解决办法: 在MAVEN_OPTS中 ...
- python 在window 系统 连接并操作远程 oracle 数据库
1,python 连接 oracle 需要 oracle 自身的客户端 instantclient,可以去官网下载自己需要的版本, https://www.oracle.com/technetwor ...