js第二周第一天知识点

文章详细介绍了JavaScript中的函数概念,包括作用域、访问原则和赋值原则,特别讨论了匿名函数、自执行函数和递归函数。同时,对数组这一重要数据类型进行了深入讲解,包括其有序性、长度、创建方法、数据添加、获取、遍历、删除、修改和各种操作方法如去重、拼接、反转和排序。
摘要由CSDN通过智能技术生成

## 函数

+ 作用域

    - 含义

    - 访问原则

    - 赋值原则

+ 特殊的函数

    - 匿名函数

    - 自执行函数

    - 递归函数

+ return两个作用

+ 随机数

    + Math.random()


 

## 数组(js里面最重要的数据类型)  Array

+ 复杂的数据类型

+ 有序的数据集合

    - 数组的有序性不是说数据往里面存放的时候会自动排序

    + 有序是体现在数组左侧的`下标` `索引`

    + 每往数组里面放一个数据 自动生成一个下标

+ 数组的长度

    + 数组名.length

+ 下标的范围

    + 0-数组的长度-1

+ 创建一个空数组

    1. 字面量

        + var 数组名 = []

    2. 内置构造函数

        + var 数组名 = new Array()

+ 往数组里面添加数据

    1. 创建的时候添加初始化数据

        + var 数组名 = [11,2,23,4,5,6,67,2]

        + var 数组名 = new Array(11,2,23,4,5,6,67,2)

    2. 动态给数组添加数据

        + 数组名.push(数据)   往数组的末尾添加一个数据

        + 数组名.unshift(数据)  往数组的开头添加一个数据

    3. 通过下标的方式给数组添加数据

        + 数组名[下标] = 数据


 

+ 获取数组里面的数据

    1. 根据下标的方式获取

        + 数组名[下标]

        + 越界访问取到的数据都是undefined 不会报错

    2. 动态获取

        + var 数据 = 数组名.pop()

        + var 数据 = 数组名.shift()

        + 这种获取方式会改变数组的长度

+ 遍历数组

    - 取出数组里面所有的数据

    - 循环获取 先生成数组的下标范围 0 - 数组长度-1


 

+ 删除数组里面某一项数据

    - delete 数组名[下标] 会删除数据 但是不会删除长度

    - 数组名.splice(开始的下标, 删除个数)

+ 修改数组里面某一项数据

    -  数组名[下标] = 数据

+ 判断数组里面是否包含某一项数据

    - 数组名.indexOf(数据)

        + 找到了这个数据 返回第一个匹配数据对应的下标

        + 没有这个数据 固定返回-1

    - 数组名.includes(数据)

        + 找到了这个数据 返回true

        + 没有找到这个数据 返回false

+ 数组的去重

    - 新建一个数组取出老数组里面每一项 判断新数组里面是否包含这一项数据 如果不包含就放进去  包含就不放进去

+ 数组的拼接

    - 数组名.concat(数组01,数组02, ...)

+ 数组的反转

    - 数组名.reverse()

+ 数组的排序

    - 冒泡排序

        + 双重for循环

        + 外层循环代表比较次数 次数=数组的长度-1

        + 内层循环代表每一次比较 每一次拿相邻的两项进行相比 如果前一项大于后一项 交换两项的位置

    - 数组名.sort()


 

## 遍历数组

+ 利用for循环

    - 生成一个下标的范围 0-数组长度-1

    ```js

        for(var i=0;i<数组名.length;i++){

            console.log('下标', i)

            console.log('每一项', 数组名[i])

        }

    ```

+ 利用for..in循环

    ```js

        for(var 变量名 in 数组名){

            console.log('下标', 变量名)

            console.log('每一项', 数组名[变量名])

        }

    ```

+ 利用for..of循环

    ```js

        for(var 变量名 of 数组名){

            console.log('每一项', 变量名)

        }

    ```

+ 利用forEach

    ```js

        数组名.forEach(function(item, index){

            // item 代表数组里面每一项

            // index 代表下标

        })

    ```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值