jsday06学习笔记

1,数据类型之间存储的区别

我们的存储空间分成两种 栈 和 堆

        - 栈: 主要存储基本数据类型的内容(number,string,boolean,undefind,null)

        - 堆: 主要存储复杂数据类型的内容(Array,Object,function)

2,函数参数传递

基本数据类型和复杂数据类型的区别

        - 因为复杂数据类型,变量存储的是地址,真实内容在 堆空间 内存储

        - 所以赋值的时候相当于把 obj 存储的那个地址复制了一份给到了 obj2 变量

        - 现在 obj 和 obj2 两个变量存储的地址一样,指向一个内存空间

        - 所以使用 obj2 这个变量修改空间内的内容,obj 指向的空间也会跟着改变了

3. 数组的常用方法

        push 是用来在数组的末尾追加一个元素

        pop 是用来删除数组末尾的一个元素

        unshift 是在数组的最前面添加一个元素

        shift 是删除数组最前面的一个元素

        splice 是截取数组中的某些内容,按照数组的索引来截取

                splice(下标,元素个数)=> 用于删除元素

                splice(下标,0,第三个参数)=> 用于插入元素,第二个参数为0是不会删除任何项

                splice(下标,删除的项数,第三个参数)=> 用于替换元素

        reverse 是用来反转数组使用的

        sort 是用来给数组排序的

                sort()方法在排列两位数以上数字的时候不会按照大小排列,而是根据位数去排列

sort()排序规律:

            + a-b 如果它的值为正数,就交换它们的位置

            + b-a 如果值为正数,交换它们的位置

            说明:

            + sort()方法,在内部可以传递一个函数进去作为参数

            + 在传递进去的这个函数括号里面,可以写两个参数,一个是a,一个是b

            + a表示的是数组的第一个元素,b表示的是数组的第二个元素

            + a和b会随着方法的执行,会依次进行改变。在内部比较的时候,如果两个数字已经交换位置了,a和b继续表示后面的数组元素

        concat 是把多个数组进行拼接

        join 是把数组里面的每一项内容链接起来,变成一个字符串

        indexOf 找到一个字符后,就把这个字符第一次出现的位置返回,不会返回其他的,只会返回一次下标,如果元素不存在返回-1

        includes 判断数组中是否有元素存在,返回的是布尔值(true/false)

4.ES5常用数组遍历方法

forEach

        - 和 for 循环一个作用,就是用来遍历数组的

        - 语法:arr.forEach(function (item, index, arr) {})

                item 参数1表示数组元素

                index 参数1表示数组下标

                arr 参数3表示数组本身(一般不用)

        forEach()的时候传递的那个函数,会根据数组的长度执行
        数组的长度是多少,这个函数就会执行多少回

map

        和 forEach 类似,只不过可以对数组中的每一项进行操作,返回一个新的数组,会遍历当前数组,可以改变当前循环的值,返回一个新的被改变过值之后的数组(map需要return),一般用在处理需要修改某一个数组的值

        map是映射的意思,一 一对应的意思,一般不会使用map来操作简单的数组

filter遍历和过滤

        - 和 map 的使用方式类似,按照我们的条件来筛选数组

        - 把原始数组中满足条件的筛选出来,组成一个新的数组返回

find

        find()遍历数组返回数组中第一个满足条件的项

every

        every:数组中是否每个元素都满足指定的条件, 全部满足返回true

some

        some:数组中是否有元素满足指定的条件,只要有一个满足返回true

reduce

        reduce() 方法接收一个方法作为累加器,数组中的每个值(从左至右) 开始合并,最终为一个值。

        reduce(function(previousValue,currenValue,currentIntdex,arr)){

                previousValue:上一个值,如果没有初始值存在,第一次遍历时previousValue就是初始值

                currenValue:当前数组元素

                currentIntdex:当前数组元素下标

                arr:原数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值