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个变量来存储,如果需要存储更多数据,那就会变的更麻烦.我们用 ...
随机推荐
- kafka的log存储解析——topic的分区partition分段segment以及索引等(转发)
原文 https://www.cnblogs.com/dorothychai/p/6181058.html 引言 Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互 ...
- 6.3.4 新的_Bool类型
如果把其他非零数值赋给_Bool类型的变量,该变量会被设置为1.这反映了C把所有的非零值都视为真. input_is_good = (scanf("%ld", &num) ...
- [UE4]Spacer
一.Spacer:留白占位控件 二.如下图所示,如果想要2个按钮都在容器右对齐: 三.可以放一个Spacer到最左边,设置成Fill,Spacer控件就是起到占位的作用.
- wordpress 插件Simple Social Buttons import处漏洞复现
前言: 漏洞范围范围:simple socail buttons v2.0.4到v2.0.22之间的所有版本 利用条件,wordpress的普通用户 漏洞细节:该插件缺少权限的检查,非管理管权限执行管 ...
- MySQL——navicat 连接 mysql 出现1251Client does not support authentication protocol requested by server的解决方案
前期修改root密码问题(首次安装的root密码是空,直接Enter就行): cmd用管理员身份进入,然后输入 mysqladmin -u root -p password newpassword 需 ...
- python大法好——Python2.x与3.x版本区别
python大法好——Python2.x与3.x版本区别 Python的3.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级. 为了不带 ...
- 配置yum源
本文转载:https://www.cnblogs.com/yangp/p/8506264.html (一)yum源概述 yum需要一个yum库,也就是yum源.默认情况下,CentOS就有一个yum源 ...
- python+appium-desktop:安卓(android)7.0以上使用appium无法定位元素(无法refresh)且 无法运行脚本
--解决方法: 启动appium时配置中添加: "automationName":"uiautomator2" --扩展: 想支持安卓7.0及以上版本需要满足一 ...
- 高性能迷你React框架anujs1.1.0发布
本版本对setState与forceUpdate内部依赖的setStateImpl进行了重构,性能稳定在60pfs之上.并且将组件实例的所有内部方法与属性都改成以___开头. https://gith ...
- ArcGIS自定义工具箱-清空工作空间
ArcGIS自定义工具箱-清空工作空间 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:删除工作空间里的要素类,栅格和独立表 使用方法: 例如"C:\ ...