黑马程序员技术交流社区
标题: 【黑马程序员杭州】PHP课程笔记day09-JavaScript基础 [打印本页]
作者: 小江哥 时间: 2017-12-19 14:38
标题: 【黑马程序员杭州】PHP课程笔记day09-JavaScript基础
本帖最后由 小江哥 于 2017-12-25 15:30 编辑
一、流程控制
什么是流程控制?
按照一定的流程选择要执行的代码
流程控制分为三种结构:
顺序结构、选择(分支)结构、循环结构
1.1顺序结构
代码从上至下 一行一行进行解析!
1.2分支结构
虽然有多种选择,但是最终只会选择一个。
比如中午去吃饭:可以选择去A餐馆吃饭,也可以选择去B餐馆吃饭,但是最终只会选择一个餐馆吃饭。
if语句和switch语句
if语句分为三种分支
1.2.1单分支
语法:
[PHP] 纯文本查看 复制代码
if(条件表达式){
要执行的代码块
}
结构说明:
当条件表达式成立时,才会执行代码块。
条件表达式成立指提是:得到布尔类型的值为true 就表示成立。
1.2.2双分支语法:
[PHP] 纯文本查看 复制代码
if(条件表达式){
执行代码块1
}else{
执行代码块2
}
结构说明:
如果条件表达式成立的话就执行代码块1,反之如果不成立就执行代码块2
流程图:
1.2.3多分支
语法:
[PHP] 纯文本查看 复制代码
if(条件表达式1){
代码块1
}else if(条件表达式2){
代码块2
} else if(条件表达式3){
代码块3
} else if(条件表达式n){
代码块n
}else{
默认代码块
}
结构说明:
l 第一步:先去判断条件表达式1是否成立 如果成立就执行代码块1 然后就结束if语句 如果不成立
l 第二步:判断条件表达式2是否成立 如果成立就执行代码块2 然后就结束if语句 如果不成立
l 第三步:判断条件表达式3是否成立 如果成立就执行代码块3 然后就结束if语句 如果不成立
l 第四步:判断条件表达式n是否成立 如果成立就会执行代码块n 然后就结束if语句 如果不成立
l 第五步:前提是有写else语句 else语句可以省略不写 上面的所有的条件表达式都不成立 就会执行else语句里面的代码块
流程图:
1.2.3switch语句
语法:
[PHP] 纯文本查看 复制代码
switch(变量名){
case 值1:
代码块1;
break;
case 值2:
代码块2
break;
case 值3:
代码块3;
break;
case 值n:
代码块n;
break;
default:
默认执行的代码块!
break;
}
结构说明:
switch语句它是拿小括号中变量的值去与每一个case后面的值进行全等比较 如果比较成功(得到布尔true) 就会执行对应的代码块 还要去查找是否有break关键字 如果有break关键字 那么switch语句就会结束 但是如果没有break关键字 它会去往下去查找break关键字 同时会将下面的代码块进行输出 直到找到break关键字为止 如果所有的case后面的值与变量的值不相等 那么就会执行默认的代码块(default语句可以省略不写 前提是要求defalut语句有写 才会执行默认的代码块)。
流程图:
案例:输出今天星期几?
思路分析:我们需要获取到当前的系统时间日期 然后从系统时间日期中获取到星期几
第一步:我们如何去获取到当前的系统时间日期
创建一个Date对象
第二步:要从这个时间日期对象中获取到今天星期几
getDay()方法 这个方法可以从Date对象中获取到今天星期几
0~6之间的一个整数 0表示星期天 6表示星期六
1.3循环结构在满足一定的条件下 重复执行某些代码!
for循环、while循环、do…while循环
1.3.1for循环语法:
[PHP] 纯文本查看 复制代码
for(变量初始化;条件表达式;变量更新){
循环体 //重复做的事情
}
结构说明:
- 第一步:变量初始化 定义一个变量并给其赋值 它只会执行一次
- 第二步:判断条件表达式是否成立 如果成立就执行第三步 如果不成立就会结束for循环
- 第三步:假设条件表达式成立 执行循环体
- 第四步:对变量进行更新 变量更新完毕以后接下来就会重复第二步--à第三步--à第四步
- 一直到条件表达式不成立了 然后for循环才会结束
流程图:
例1:使用for循环来输出10个hello
例2:使用for循环来输出1到100之间的数。
例3:使用for循环来求1到100之间的和
例4:使用for循环来求1到100之间的偶数的和。
例5、恶心的游戏数字7
大家从小到大,都玩儿过的一个庸俗的游戏:
游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。
请在控制台输出1~60之间的所有“安全数”。
比如:
1、2、3、4、5、6、8、9、10、11、12、13、15、16、18、19、20、22、23、24、25、26、29、30……
例6:使用for循环求4的阶乘
4*3*2*1
例7:使用for循环来输出100到1
死循环:当条件表达式永远成立 就会出现死循环
例8:使用for循环来实现一个10行3列的表格并且这个表格要有隔行变色的效果
例9:使用for循环输出一个9行一列的表格
例10:使用for循环输出一个1行9列的表格
例11:使用for循环输出一个9行9列的表格
例12:使用for循环来实现99乘法表
1.3.2 while循环
语法:
[PHP] 纯文本查看 复制代码
变量初始化
while(条件表达式){
//循环体
变量更新
}
结构说明:
当条件表达式成立的时候就执行循环体,反之如果条件表达式不成立就结束while循环!
流程图:
使用while循环输出1-100之间能够被3整除的数。
1.3.3 do..while循环
语法:
[PHP] 纯文本查看 复制代码
do{
//循环体
}while(条件表达式);
结构说明:
先执行一次循环体,然后再来判断条件表达式是否成立。如果条件表达式成立就继续执行循环体,如果不成立就会结束do while循环。
不管条件表达式是否成立,do while循环都会执行一次循环体。
流程图:
使用do while来求1-100之间能够被3整除的数的平均值
思路:
1. 需要得到1-100之间的所有的数
2. 再来得到能够被3整除的所有的数
3. 得到被3整除的所有的数的和以及其个数
4. 拿总和除以其个数就可以得到平均值
二、循环的终止
典型的,当条件表达式不成立了,那么循环体就会终止执行。也可以称之为循环它寿终正寝了。
循环提前终止:本来条件表达式是成立了,循环体还可以继续的往下执行,但是我们可以使用一些关键字让其提前终止。
break和continue 循环终止的关键字
2.1break
终止,当在循环体中遇到了break关键字以后,整个循环语句就会直接结束。不会再执行。
2.2continue
继续,它会终止当前循环体,那么继续执行下一次循环体。
三、三个常用的系统函数
3.1parseInt()
作用:从一个字符串提取整数!
提取规则:如果字符串第一个字符不是数字 就会返回NaN ,它会遇到非数字就停止提取!
3.2parseFloat()
作用:从一个字符串提取小数!
提取规则:如果字符串第一个字符不是数字 就会返回NaN ,它如果遇到除.以外的非数字就会停止提取!
3.3isNaN
作用:先将一个变量的数据类型强制的转换为Number 如果是NaN就会得到true 如果是一个数字的话就是得到false
四、数组
4.1什么是数组?
数组是一组数据有序的集合。数组它是属于复合数据类型。至少可以存储一个值。
4.2 为什么要使用数组?
4.3 数组的相关概念
4.3.1数组元素
指数组中的每一个数据!我们就把它们称之为数组元素
4.3.2数组下标
每一个数组元素都对应着一个数组下标 数组的下标是从0开始 第一个数组元素的下标是0,第二个数组元素的下标为1 第三个数组元素的下标为2 依此类推!
4.3.3如何访问数组里面的元素
格式:
数组变量名[
4.3.4数组的长度
数组的长度:数组中元素的总个数
如何去计算数组的长度:
数组变量名.length
数组变量名其实就是一个数组对象
对象.属性
在JS中 数组对象下面有一个length的属性 这个属性可以得到数组的长度
4.4 定义数组
4.4.1使用[]来定义数组
4.4.2使用new关键和Array()方法来定义数组
注意:
在工作中一般都是使用[]来创建数组 基本上不会使用new关键字和Array方法来创建
作者: huangjinchao.ar 时间: 2017-12-19 14:49
6666,基础决定上层建筑
作者: 张艺凡老师 时间: 2017-12-19 14:50
腿长代码写的也好
作者: 采姑娘的小蘑菇 时间: 2017-12-19 14:51
充满了对知识的渴望
作者: 猫先森 时间: 2017-12-19 14:51
66666666666666666666666666666666
作者: 刘华莎 时间: 2017-12-19 14:53
棒棒哒
作者: 阿布乙 时间: 2017-12-19 14:54
赞赞的!
作者: 秋子菇凉 时间: 2017-12-19 14:56
不明觉厉!棒棒哒!
作者: 咸鱼666 时间: 2017-12-19 14:57
66666666666666666
作者: 小核桃仁 时间: 2017-12-19 15:00
棒棒哒
作者: 从此学好 时间: 2017-12-19 15:10
顶,么么哒
作者: 从此学好 时间: 2017-12-19 15:11
顶顶顶。。。
作者: 许言 时间: 2017-12-19 15:11
顶顶顶顶顶已顶
作者: 小年青 时间: 2017-12-19 15:13
贼有用6666666666666666
作者: Rocket_冷风 时间: 2017-12-19 15:19
了却我内心对知识的渴望
作者: xiaozhouzhou 时间: 2017-12-19 15:30
大神,请接受我渴望的目光
作者: nhm 时间: 2017-12-19 17:03
6666666666666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |