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.没有真正数组的一些方法