面试题总结(1)

1.闭包的优缺点:
            优点:
                1. 函数外部可以访问函数内部的变量
                2. 避免变量被污染
                3. 变量常驻内存, 不会垃圾回收机制回收

            缺点:
                1. 闭包使用不当,造成内存泄漏
                2. 变量常驻内存,导致内存浪费
2.js 数据类型:
            基本数据类型 (原始类型 primitive)
                String 字符串类型
                Number  数值类型
                Boolean 布尔类型  : 只有两个值 true    false
                Null 空
                Undefined 未定义
                Symbol 唯一值 es6 新增的  

            引用数据类型
                对象 Object
                数组 Array
                函数  Function
3.字符串方法:
                charAt()    返回指定索引位置的字符                
                concat()    连接两个或多个字符串,返回连接后的字符串    
                indexOf()    返回字符串中检索指定字符第一次出现的位置
                lastIndexOf()    返回字符串中检索指定字符最后一次出现的位置              
              
                slice()    提取字符串的片断,并在新的字符串中返回被提取的部分
                split()    把字符串分割为子字符串数组
                substr()    从起始索引号提取字符串中指定数目的字符
                substring()    提取字符串中两个指定的索引号之间的字符
                
                toLocaleLowerCase()    根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
                toLocaleUpperCase()    根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
                toLowerCase()    把字符串转换为小写
                toString()    返回字符串对象值
                toUpperCase()    把字符串转换为大写
                trim()    移除字符串首尾空白
4.数组的方法:
           基础的方法
                concat: ƒ concat()   拼接数组
                forEach: ƒ forEach()循环数组
                includes: ƒ includes()判断数组中是否存在指定的值

              indexOf: ƒ indexOf()检索指定的值在数组中第一次出现位置的索引值, 返回结果是索引值,不存在则返回-1
                join: ƒ join()拼接数组转换为字符串
                lastIndexOf: ƒ lastIndexOf()检索指定的值在数组中最后一次出现位置的索引值, 返回结果是索引值,不存在则返回-1
                pop: ƒ pop()
                push: ƒ push()
                reverse: ƒ reverse()
                shift: ƒ shift()
                slice: ƒ slice()
                sort: ƒ sort()排序
                splice: ƒ splice()添加删除替换数组中的值
                toString: ƒ toString()转换为字符串
                unshift: ƒ unshift()
          ***es6往后新增的方法 
                reduce: ƒ reduce()
                entries: ƒ entries()
                every: ƒ every()
                fill: ƒ fill()
                filter: ƒ filter()
                find: ƒ find()
                findIndex: ƒ findIndex()
                findLast: ƒ findLast()
                findLastIndex: ƒ findLastIndex()
                keys: ƒ keys()
                map: ƒ map()  遍历数组, 返回的是一个新数组 (通过指定的规则 把原数组中的值映射到新数组对应的值)
                some: ƒ some()  遍历数组 返回值是布尔类型  false  true
5.函数对象的方法:
            call() : 调用执行函数,修改this指向,传参是一一罗列的     fn.call(null, '在这里传参', 1)
            apply():调用执行函数,修改this指向, 传参是以数组的形式   fn.apply(null, ['数组形式传递', 2, '11'])
            bind(): 返回一个新函数
6.原型链:本质 是 __proto__ 属性
            实例化对象访问属性或方法时,如果自身存在,则使用, 如果不存在,实例化对象存在 __proto__属性,
     指向原型对象, 就会沿着__proto__ 去原型对象prototype上查找,找到则使用,如果找不到, 原型对象prototype 
    也存在 __proto__ 属性,继续向上查找, 直到找到为止, 原型链的顶端为null , 我们把找到的一系列的原型对象串起
    来 就形成了原型链;
7.promise的理解
   promise() : 解决回调地狱的问题  , 但是也会造成 then 的过度使用 
   promise 有三种状态:
            pending : 进行中
            fulfilled : 成功态
            rejected : 失败态

        只能 从 pending ===>  fulfilled 状态 或者   pending ===> rejected状态, 一旦状态确定后,就不在改变
   Promise对象有以下两个特点:
          1.对象的状态不受外界影响。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态
          2.一旦状态改变,就不会再变,任何时候都可以得到这个结果。

8.filter和map的区别
    filter是只返回满足条件的,map是把原数组进行一一加工返回新的数组
9.垃圾回收机制:
   是为了以防内存泄漏,不定时的清理不用的变量并释放掉他们所指向的内存
   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值