JS流程控制/函数/数组
分支流程控制
// 1 . if 的语法结构 if (条件表达式1) { //执行语句1 } else if(条件表达式2) { //执行语句2 } else if(条件表达式3) { //执行语句3 } else { //执行语句4 }
三元表达式 条件表达式 ? 表达式1 : 表达式2
如果条件表达式结果为真 则返回表达式1的值 如果条件表达式结果为假 则返回表达式2的值
可以简化代码,代替if语据
switch 语句 匹配的值 全等
switch(表达式) { case value1: 执行语句1; break; case value2: 执行语句2; break; case value3: 执行语句3; break; // ... default: 执行语句4; }
//循环结构 //1 . for循环 // continue 关键字 // break 关键字 for(初始化变量; 条件表达式;操作表达式) { if(条件表达式) { continue; //退出本次循环,跳到操作表达式 } else { 执行语句 break; //退出整个循环 } }
// 1 . 数组(Array) : var arr = new Array(); //创建数组 var arr = [1, 2, '我', '你', true]; //字面量,创建数组,数组内的数据称为数组元素 console.log(arr); //获取全部 //访问 数组名[索引下标] console.log(arr[2]); // 遍历数组 for (var i = 0;i < arr.length;i++) { console.log(arr[i]); } //新增数组元素 arr[5] = 'pink'; //追加数组元素 arr[0] = 8; //修改 //不能直接给数组名赋值 // 冒泡排序法 把一系列数据按照一定顺序 排序 var arr1 = [76,90,30,12,54,86,3,8,4]; for(var j = 0;j <= arr1.length-1;j++) { for(var i = 0;i <= arr1.length-1-i;i++) { if(arr1[i]>arr1[i+1]) { var temp = arr1[i+1]; arr1[i+1] = arr1[i]; arr[i] = temp; } } } ```
函数就是封装了一段可以被重复执行调用的代码块 目的: 让代码重复使用
- 声明函数
// function 函数名() { // 函数体 // } 1)function 声明函数的关键字 全部小写 2. 调用函数 函数名() // 函数的封装 // 函数的参数 (形参与实参) // function 函数名(形参1,形参2...) { // } // 函数名(实参1,实参2...);
函数形参与实参个数的匹配
1.实参个数>形参个数,取到形参个数
2.实参个数<形参个数,多余的形参定义为 undefined 最终结果为NaN
//函数的返回值 function 函数名() { return 需要返回的结果; } 函数名();
1)函数实现某种功能,最终结果返回给函数的调用者函数名(),通过return 实现.
2)只要函数遇见return,就把后面的结果 返回给函数的调用者
函数名() = return后面的结果
return 终止函数,
只能返回一个值,若用逗号隔开,返回最后一个值
若想返回多个值,用数组即可
function getResult(num1,num2,num3) { return [num1+num2,num1,num2,num1-num2] } getResult(1,2,45);
argument的使用
function fn() { console.log(arguments); //里面储存了所有传递过来的实参 console.log(arguments.length); //按照数组方式遍历数组 } fn(1,2,3);
伪数组 并不是真正意义上的数组 1 . 具有数组 length 属性 2.按照索引的方式进行存储 3.没有真正数组的一些方法