黑马程序员技术交流社区

标题: 【黑马程序员杭州】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(变量初始化;条件表达式;变量更新){
循环体  //重复做的事情
}
结构说明:

流程图:
1:使用for循环来输出10hello
2:使用for循环来输出1100之间的数。
3:使用for循环来求1100之间的和
4:使用for循环来求1100之间的偶数的和。
5、恶心的游戏数字7
大家从小到大,都玩儿过的一个庸俗的游戏:

游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。

请在控制台输出1~60之间的所有“安全数”。

比如:
1234568910111213151618192022232425262930……
6:使用for循环求4的阶乘
4*3*2*1
7:使用for循环来输出1001
死循环:当条件表达式永远成立 就会出现死循环
8:使用for循环来实现一个103列的表格并且这个表格要有隔行变色的效果
9:使用for循环输出一个9行一列的表格
10:使用for循环输出一个19列的表格
11:使用for循环输出一个99列的表格
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方法来创建


阅读推荐

【黑马程序员杭州】PHP课程笔记day01-HTML简介及标签
【黑马程序员杭州】PHP课程笔记day02-HTML组标签

【黑马程序员杭州】PHP课程笔记day04表单控件
【黑马程序员杭州】PHP课程笔记day05-CSS基础
【黑马程序员杭州】PHP课程笔记day06-CSS样式
【黑马程序员杭州】PHP课程笔记day07-CSS样式
【黑马程序员杭州】PHP课程笔记day08-JavaScript基础





作者: 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