第六周 回调函数 对象中的函数 数组对象

获取所有参数列列表:arguments

        arguments只能在function定义的函数中获取到lambda表达式没有

回调函数

        在一个函数中接收另一个函数作为参数,适当时执行传入的函数,传入的函数叫回调函数

立即执行

        立即执行(匿名函数)();用来执行其他函数

        一般在一个js中只写一个;放在最前面写

递归函数

        在一个函数中调用自己

闭包函数 

        大量使用全局变量会造成全局污染

        把全局变量封装到函数中,并且作为函数的返回值返回,

        避免全局污染,使用时直接执行闭包函数拿到返回值

对象中的函数

        1.创建对象函数的方法

                key:匿名函数

                        function         this对象当前调用的对象那个

                        ()=>         this不修改指向

                        函数名(){ 同function创建 }

                3种方法的区别

                        function创建的函数,this指向当前调用的对象

                        lambda创建的函数this指向上一级作用域对象

                        (window是浏览器顶级对象,没有对象取使用函数时是window在调用)

                面向对象

                        使用一个函数,必须分清是那个对象

                this:获取当前对象

                        在function中,那个对象调用函数指向那一个对象

                        在lambda表达式中,this指定不会被修改,this指向上一级作用域的对象

        2.调用对象方法

                对象名 .  函数名(参数)

存储多个数据

        1.对象:键值对        2.数组

数组:对象

        创建数组

               1. new Array(元素1,元素2.....)        2.字面量:[1,2,3,.......]

        数组结构

                连续的内存空间,每个值都有对象的索引index(编号),索引值从0开始

        数组取值

                通过索引取 数组名[index],超出索引范围时是undefined

        数组的长度

                数组名 . length,取决于存入数据的个数index的最大值=长度-1

        数组的toString

                数组名/toString元素从逗号拼接成字符串

        数组的遍历

                for:index是索引,通过索引取值        forin         forof

        数组的解构和复制

                {... iterator}

                        复制一个一摸一样的对象,但是地址不一样...扩展运算符,展开运算符

                Object.assign(目标对象,要复制的对象)

                        会把要复制对象的所有键值复制到目标 对象中,然后返回目标对象,目标对象中本身的键值对会保留

                [...数组]

                        把复制中的所有元素赋值到新数组

数组的常用函数

        push  向数组的末尾添加一个或更多元素,

        concat      连接两个或更多的数组

        join     把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔

        pop() 删除数组的最后一个元素

        shift() 删除数组的第一个元素

        push() 向数组的末尾添加一个或更多元素。

        unshift() 向数组的开头添加一个或更多元素

        reverse() 颠倒数组中元素的顺序

        slice() 从已有的数组中返回选定的元素,包含头不包含尾

        splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目

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

        indexof(元素,开始数的位置):从左往右第一个符合条件的index,返回索引,没有返回-1,默认是0.是否存在。

       函数中的方法

        forEach

                一直循环遍历数组元素,把每次循环到的值和索引作为回调函数的参数,并执行回调函数        例: arr.forEach((元素,索引,原数组)=>{

                           console.log(元素,索引);

                 })没有返回值

        map

                遍历数组和forEach一样;区别: 区别在于map回调函数每次执行的返回值,封装进一个数组中返回

        filter

              遍历数组和forEach一样;区别回调函数每次执行的返回值是true时,把当前遍历到的元素放进一个新数组

        some

                回调函数中只要有一次返回true,some的结果就是true,一旦遇到 return true,则some停止运行

        every

                every是所有回调都返回true时,结果true,只要有一个false结果就是false

        reduce

                迭代把回调函数的返回值作为下一次回调的第0个参数,最后一次回调的返回值作为最终结果,如不给pre默认值,则默认pre为数组第0个数据,当前遍历的值为第一个

        includes(element)

                查找元素在数组中是否存在,返回true ro false

        arr.find(element/callback)

                查找元素在数组中是否存在,如果存在返回element,不存在返回undefined

                传回调:只要有一个回调函数返回true,则返回对应的element和index否则,返回undefined

                 和some类似,some返回boolean,find返回element

        findindex(callback)和find类似,返回的是索引,如果不存在返回-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值