一、流程控制分支结构
1、三元表达式(由三元运算符组成)
条件表达式 ? 表达式1 : 表达式2
表达式结果为真返回表达式1,否则返回表达式2
2、switch语句
<script>
switch(表达式){
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
...
default :
执行最后的语句;
}
</script>
3、switch语句和 if else if 语句的区别
二、循环
1、for循环
断点调试: 在运行网页 Fn+F12 进入Sources,点击行数即可设置断点,刷新后点击下步键/F11可观察程序运行过程
打印三角形
<script>
var str='';
for(i=1;i<10;i++){
for(j=1;j<=i;j++){
str=str+'⭐'
}
str=str+'\n';
}
console.log(str);
</script>
2、while循环
3、do while 循环
4、continue关键字
跳出本次循环,继续下一次循环(循环总执行次数减一)
5、break关键字
跳出整个循环
三、数组(Array)
1、创建数组
①利用new关键字创建
var arr = new Array(); //创建一个新的空数组
②利用数组字面量创建(最常用)
var arr = []; //创建了一个空的数组
var arr1 = [1,2,'pink',true];
2、访问数组元素
数组的索引(下标):访问数组元素的序号
3、遍历数组: for循环
4、数组的长度: 数组名.length
5、数组中新增元素
①直接修改length长度实现数组的扩容
②修改数组索引号(追加数组元素)
6、冒泡排序:重复走访要排序的序列,一次比较两个元素
先进行案例分析,找规律!
<script>
var arr=[5,4,3,2,1];
for(var i = 0;i < arr.length-1 ;i++ ){
for(j = 0;j <= arr.length-i-1;j++ ){
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);
</script>
四、函数
函数是封装了一段可以被重复执行调用的代码块
1、函数的使用
①声明函数
function 函数名(){ //函数名一般是动词
//函数体
}
②调用函数
函数名();
③函数的封装
函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口(类似于打包)
2、函数的参数
function 函数名(形参1,形参2...){ //声明
}
函数名(实参1,实参2...); //调用
3、函数的返回值return
①return终止函数(return后面的代码不会被执行)
②return只能返回一个值(返回最后一个值)
③需要返回多个值时可以存储到一个数组里面再返回
函数如果有return,则返回的是return后面的值,否则返回undefined
4、arguments的使用
arguments是函数的一个内置对象(其中存储了传递的所有实参)
①具有数组的length属性
②按照索引的方式进行存储
③没有真正的数组的一些方法pop() push()等(伪数组)
function fn(){
console.log(arguments); //①
console.log(arguments.length); //②
console.log(arguments[2]);
}
fn(1,2,3);
5、函数的相互调用
6、函数的声明方式
①利用函数关键字自定义函数(命名函数)
function fn(){
}
fn();
②函数表达式(匿名函数)
var fun = function() { //fun是变量名
console.log('函数表达式');
}
fun();