一、数组
1. 创建数组
利用 Array()
创建数组
利用 字面量([]
) 创建数组
2. 数组的使用
下标:
数组的 下标 从 0 开始
1 2
| var arr = [3.14, 'JS', 'HTML', true]; console.log(arr[1]);
|
遍历元素
变量名.length
: 可以获取 数组元素的 个数.
1 2 3 4
| var arr = [3.14, 'JS', 'HTML', true]; for (var i = 0; i < arr.length; i++) { console.log(arr[i]); }
|
获取数组中的最大值:
1 2 3 4 5 6 7 8
| var arr = [3.14, 18, -21, 33, 0, 1]; var num = 0; for (var i = 0; i < arr.length; i++) { if (num < arr[i]) { num = arr[i] } } console.log(num);
|
数组转为字符串:
1 2 3 4 5 6
| var arr = [3.14, 'JS', 'HTML', true]; var num = ""; for (var i = 0; i < arr.length; i++) { num += arr[i] } console.log(num);
|
3. 增加数组元素
修改数组长度
1 2 3 4 5 6 7 8
| var arr = [3.14, "JS", "HTML", true]; console.log(arr.length);
arr.length = 6; console.log(arr.length); console.log(arr[4]); console.log(arr[5]);
|
修改索引增加数组长度
1 2 3 4 5 6 7 8 9
| var arr = [3.14, "JS", "HTML", true]; console.log(arr.length);
arr[4] = '老王'; arr[5] = '张三'; console.log(arr.length); console.log(arr[4]); console.log(arr[5]);
|
冒泡排序
1 2 3 4 5 6 7 8 9 10 11
| var arr = [0, 12, 6, 66, -2, -30]; for (var i = 1; i < arr.length; i++) { for (var j = 0; j < arr.length - i; j++) { if (arr[j] > arr[j + 1]) { var num = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = num; } } } console.log(arr);
|
二、函数 ( function )
1. 函数的基本使用
申明函数:
1 2 3 4
| function 函数名(参数1,参数2,...) { 函数体; return 返回值; }
|
调用函数:
形参: 形式上的参数,申明函数里的参数都是型参
实参: 实际上的参数,函数实际调用的时,函数的参数;
实参与形参个数不匹配问题
- 实参多余形参:
- 形参 多余 实参 :
- 多余的形参值为 undefined , 最后的结果为 NaN
1 2 3 4 5 6 7 8
| function sum_number(start, end) { var num = 0; for (var i = start; i <= end; i++) { num += i; } return num; } console.log(sum_number(1, 10))
|
2. arguments
的使用
arguments
: 在不确定参数个数时,可以使用 arguments 来存储所有的实参,其返回结果是一个 伪数组
伪数组(不是一个真正的数组):
- 具有数组的 length 属性;
- 按照索引的方式进行存储的;
- 它没有真正数组的某些方法;
获取任意个数中的最大值
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function sum_number() { var num_list = arguments; var num_max = num_list[0]; for (var i = 1; i < num_list.length; i++) { if (num_max < num_list[i]) { num_max = num_list[i]; } } return num_max; } var max = sum_number(1, 2, 44, 0, 12, -8) console.log(max) var max = sum_number(32, 33, 1, 6, 88) console.log(max)
|
案例
冒泡排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| function paixu(newList) { var list = newList; for (var i = 0; i < list.length - 1; i++) { for (var j = 0; j < list.length - i; j++) { if (list[j] > list[j + 1]) { var num = list[j]; list[j] = list[j + 1]; list[j + 1] = num; } } } return list; } var max = paixu([1, 2, 44, 0, 12, -8]) console.log(max) var max = paixu([32, 33, 1, 6, 88]) console.log(max)
|
函数调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function inRunYear(year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { flag = true; } else { flag = false; } return flag; }
function backDay() { var year = prompt("请输入年份?"); if (inRunYear(year)) { alert(year + "年2月有29天。"); } else { alert(year + "年2月有28天。"); } } backDay()
|
3. 函数2种声明方式
利用函数关键字 自定义申明
函数表达式 ( 匿名函数 )
1 2 3 4 5 6
| var fn = function(){ }
fu();
|