js函数&&数组知识点

数组

  • 数组 array
    当我们需要处理一组数据时,一定性定义很多变量,比较难处理。这个时候我们就需要用到数组。

  • 概念:
    数组:一组数据的集合。其中每个数据被称为数组的元素。在数组中存放任意类型的数据。数组是将一组数据存储到单个变量名下的方式。

  • 数组声明
    三种声明:
    通过new关键字创建数组。
    省略new关键字创建数组
    字面量赋值
    在这里插入图片描述
    【注】前两种方式,若传入参数只有一个,且为number时,这个数字表示声明的数组的长度,而不是存放的数据。

  • 数组的长度
    arr.length
    在这里插入图片描述

  • 数组的下标
    从0开始,数据在数组中的序号。最大值为length-1.
    访问数组元素。
    访问数组元素,需要通过下标去访问。
    格式:
    数组变量名[下标]

  • 数组的遍历 (循环)
    0-length-1

  • 两种循环遍历方式:
    1.普通的for循环。
    2.for…in 循环 快速遍历法/快速枚举法
    格式:
    for (var key in 数组变量名) {
    }
    在这里插入图片描述

  • 区别:
    1.for in不需要每次都判断,效率更高
    2.for in若在遍历过程中,数组发生了变化,会出现问题,不安全。

数组方法

  • push()
    功能:给数组的末尾添加元素
    格式:数组名.push(参数…)
    返回值:插入元素后的数组长度
    在这里插入图片描述

  • pop()
    功能:在数组的末尾取下一个元素
    格式:数组名.pop()
    返回值:取下的元素。

在这里插入图片描述

  • unshift()
    功能:从数组的头部添加元素
    格式:数组名.unshift(参数…)
    返回值:插入元素后的数组长度

  • shift()
    功能:从数组的头部取下一个元素
    格式:数组名.shift()
    返回值:取下的元素。

  • concat()
    功能:合并数组。
    格式:数组名.concat(数组);
    1.copy原数组,生成新数组。
    2.将输入的数组中的元素单独拆分出来,添加到新数组中。
    在这里插入图片描述

  • slice()
    功能:获取当前数组指定区域的元素,生成新数组。
    格式:数组名.slice(start,end) 含头不含尾
    start:开始位置的下标
    end:结束位置的下标
    返回值:新数组,原数组不变。
    在这里插入图片描述

  • splice()
    截取
    格式:数组.splice(start,length,数据…)
    返回值:截取的元素
    参数:
    start:开始截取的位置
    length:截取的长度
    第三个参数开始:在start位置开始,插入新元素。
    对数组元素的

  • 新增

          arr.splice(4,0,"5");
    
  • 修改

         arr.splice(2,1,4);
    
  • 删除

         arr.splice(2,1);
    
  • join()
    格式:数组.join(字符串);
    功能:将数组中元素用指定的字符串拼接
    返回值:拼接好的字符串
    在这里插入图片描述

  • reverse()
    功能:将数组元素反转。
    格式:数组.reverse();
    该方法会修改原数组。

  • sort()
    对数组中的元素进行排序

  • 【注】按照Unicode编码比较,类似字符串的比较方式。

    ---------------ES5新增常见方法--------------------

  • indexof()
    功能:在数组中查找第一次出现元素的下标。
    格式:数组.index(item,start);
    参数:
    item:要查找的元素
    start:开始查找的位置
    返回值:查找到的元素下标,若未查到,则返回-1。
    在这里插入图片描述

  • forEach()
    格式:数组.forEach(function(item,index,arr)){
    }
    参数:
    item:当前遍历的元素,
    index:当前遍历元素的下标
    arr:数组
    在这里插入图片描述

  • 二维数组
    数组中的元素为数组是,该数组被称为二维数组。
    在这里插入图片描述

冒泡&&选择排序

  • 冒泡排序

  • 规则:
    从左到右,数组中相邻的两个元素进行比较。将较大(较小)的数放在后面。
    规律:每一轮都可以找出一个最大(最小)值,放在正确的位置上。
    比较的轮次:数组的长度-1
    每一轮比较的次数:数组长度-当前的轮次
    在这里插入图片描述

  • 选择排序

  • 规则:
    选出一个位置,让这个位置上的数与后面的数比较,如果大于(小于)后面的数,则交换位置。然后对该位置进行下一轮比较。
    规律:每一轮,在当前位置找到正确的值。
    比较的轮次:数组的长度-1
    每一轮比较的次数:数组长度-当前的轮次
    在这里插入图片描述

函数

  • 函数:

在这里插入图片描述

  • 作用:

             1.简化代码
             2.方便维护
             3.提高开发效率
             4.提高了代码的复用性,减少代码冗余
    
  • 格式:
    function 函数名(参数…){
    函数执行的代码
    }
    【注意】函数先定义后调用

  • 分类:

  • 1.内置函数(官方提供的函数,系统自身拥有函数)

                 alert();
                 document.write();
                 console.log();
                 parseInt();
                 parseFloat();
    
  • 2.自定义函数

                 根据参数和返回值的不同,可将函数分为四种。
                 1.无参数无返回值
                 2.有参数无返回值
                 3.无参数有返回值
                 4.有参数有返回值
    

自定义函数

  1. 无参数无返回值
    在这里插入图片描述

  2. 有参数无返回值
    在这里插入图片描述

  3. 无参数有返回值
    在这里插入图片描述

  4. 有参数有返回值
    在这里插入图片描述

封装函数

  • 1.确定函数的执行代码:函数体。

  • 2.找出变量(不确定值。),将其设置为形参

  • 3.如果需要对返回结果进行不同的处理,则定义返回值。

arguments

定义一个函数,参数的数量不固定,将参数用|拼接起来。
苏轼 辛弃疾 李白
arguments是用来存储实参。
在这里插入图片描述

作用域

  • 作用域:变量存在的范围

  • 全局变量
    直接写在Script标签中的变量,在页面中的任意位置都可以访问到。
    在页面打开创建,在页面关闭时销毁。

  • 局部变量
    局部变量是定义在函数内部的变量.这个变量只能在函数内使用.例外,函数中的形参也是局部变量.
    每一次调用时创建,调用结束会销毁。

  • 【注意】
    如果局部变量与全局变量重名,则使用局部变量。若函数内部没有找到该变量,则去全局变量中查找。

递归

  • 递归:
    函数之间可以互相调用,如果函数内部调用了其自身,则我们称其为递归调用。
    在这里插入图片描述

  • 特点:
    1.函数自己调用自己
    2.一般情况下还有参数
    3.一般情况下有返回值.

  • 方法:
    1.找这一次计算与上一次计算的关系。
    2.调用自身
    3。找到函数结束的条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值