定义:数组array就是一组数据的集合,可利用new 创建数组,也可以利用字面量创建数组,数组里面的数据一定要用逗号隔开
.1 利用new创建数组
var arr=new Array() //创建空数组
.2 利用数组字面量创建数组
var arr=[] //创建空数组
var arr1=[1,2,'哈哈哈',true]
.3获取数组元素,索引下标开访问数组的元素,索引号从0开始
数组名[索引号]
console.log(arr1[2])
遍历数组:把数组的元素从头到尾访问一次
数组的长度是元素个数和索引号不一样,arr.length用于动态监测数组元素的个数,可以有效实现遍历数组
- var arr1=[1,2,'哈哈哈',true]
- for (i = 0; i < 4; i++) {
- console.log(arr1[i]);
- }
- //第二种方法:arr1.length
- for (i = 0; i
length; i++) { - console.log(arr1[i]);
- }
-
- //取最大值
- var arr = [2, 6, 1, 77, 53, 35, 10];
- var max = arr[0];
- for (var i = 0; i < arr.length; i++) {
- if (arr[i] > max) {
- max = arr[i];
- }
- }
- console.log('最大值为:' + max)
- var arr = [5, 2, 0, 1, 3, 1, 4];
- //数组的反转
- arr.reverse();
- console.log(arr)
- var arr = [5, 2, 0, 1, 3, 1, 4];
-
- arr.sort(function (a, b) {
- // return 10;//不变
- // return 0;//不变
- // return -10;//反过来
- // return a - b;//升序
- // return b - a;//降序
- })
- console.log(arr)
- //1.新增数组元素-修改length长度
- var arr = ['hr', 'xh', 'hate']
- console.log(arr.length)
- arr.length = 5;
- console.log(arr)
- //2.修改索引号,追加数组元素
- arr[4] = 'pink';
- console.log(arr)
- arr[0] = 'blue';//这里是替换原来的数组元素
- console.log(arr);
1、外层for用于确定趟数
2、里层for用于确定交换次数
3、注意两个数据之间的交换,可采用中间值的方法
- var arr = [1, 3, 6, 9, 10, 23]
- for (var i = 0; i < arr.length - 1; i++) {
- for (var 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)

函数:封装了一段可以被重复调用执行的代码块,可以通过此代码块实现大量代码的重复使用。
封装:把一个或多个功能通过函数的方式封装起来,类似快递打包
函数的使用:
分为声明函数和调用函数
语法格式:
//声明函数
function 函数名(){
//函数体
}
//调用
函数名()
-
- function 函数名(形参1, 形参2, ...) {
- //声明函数里的小括号是形参
- }
- //函数调用里的小括号为实参
- 函数名(实参1, 实参2, ....)
- //形参和实参执行过程
-
- function cook(aru) {
- console.log(aru);
- }
- cook('土豆');
1、如果实参个数与形参个数一致,正常输出结果
2、如果实参个数多于形参个数,会取到形参的个数
3、如果实参个数小于形参个数,多于形参的定义为undefined,返回值为NaN
function 函数名(){
return 需要返回的结果
}
函数名();
(1)函数只是实现某种功能,最终的结果需要返回给函数的调用者,通过return实现
(2)只要函数遇到return,就把后面的结果返回给函数的调用者, 函数名=return后面的结果
(3)如果return后面还有其他的代码,都不会在执行了,遇到return了就表示代码结束了
- function getMax(num1, num2) {
- //三目运算符
- return num1 > num2 ? num1 : num2;
- console.log(111);
- }
- console.log(getMax(3, 9));

(4)如果函数没有return则返回的是undefined
- function fn() {
- return 666;
- }
- console.log(fn());
- function fn1() {
-
- }
- console.log(fn1());

break:结束当前的循坏体(eg:for while)
continue:跳出本次循环,继续执行下次循环(for while)
return:不仅可以退出循环,也可以返回return语句中的值,同时可以结束当前的函数体内的代码
# arguments
所有函数都内置了一个 arguments 对象,存储了传递的所有实参。
arguments是一个伪数组,可以进行遍历。伪数组具有以下特点:
具有 length 属性
按索引方式储存数据
不具有数组的 push , pop 等方法
- function fn(){
- console.log(arguments)
- }
-
- fn(1,2)
- fn(1,2,3)
- //案列-求任意个数中的最大值
- function getMax() {
- var max = arguments[0];
- for (var i = 0; i < arguments.length; i++) {
- if (arguments[i] > max) {
- max = arguments[i];
- }
- }
- return max;
- }
- console.log(getMax(1, 4));
- console.log(getMax(1, 4, 8));
- console.log(getMax(1, 4, 8, 66, 100, 99));

