2021-10-19

js学习中提到的知识点罗列

1.filter 条件过滤
2.map(提示: n*2)
回调中存在value及index两个值
参考:https://blog.csdn.net/liminwang0311/article/details/86480829
3.reduce(提示: 总和)

4.parseInt
参考

parseInt的返回值只有两种可能,不是一个十进制整数,就是NaN。

5.性能优化:防抖&节流
参考
防抖:高频触发事件影响浏览器性能,利用setTimeout进行延时判断
节流:高频触发事件影响浏览器性能,将高频触发事件与定时触发绑定,设定间隔触发时间

6.setTimeout和setInterval的区别
不同的是setTimeout在规定时间后执行完某个操作就停止了,而setInterval则可以一直循环下去
内存方面:setTimeout只需要进入一次队列,而setInterval因为不计算代码时间,有可能通知执行多次代码,从而造成内存溢出

7.闭包
闭包= func + func内部可以访问到的变量
它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
参考
[参考]

8.内存溢出&内存泄漏
内存溢出:系统内存不够了
内存泄漏:一个变量占用内存后,不再被使用内存就一直被占用着,系统不会自动释放,叠加起来就会 报内存溢出
参考

9.js垃圾回收机制
可达性
JavaScript 引擎中有一个后台进程称为垃圾回收器,它监视所有对象,并删除那些不可访问的对象
参考

  • 什么是垃圾回收机制
  • 什么样的变量会被回收,整个流程(标记-清除算法)
  • 如何优化

10.归并算法
试题
解法一:利用js函数,不走归并思路

解法二:归并思路
参考

11.斐波那契数列

//循环算法
function f(n){
  if(n == 0){
    return 0;
  }else if(n ==1){
  return 1;
  }else{
    var fn1 = 0;
    var fn2 = 1;
    var fnx = 0;
    for(var i=0;i<n-1; i++){
      var newfn1 = fn2;
      fnx = fn1 + fn2;
      fn1 = fn2;
      fn2 = fnx;
  }
    return fnx;
  }
}
//===============================
//递归算法
function fib(count) {
//参数判断
    var count = parseInt(count);
     if (isNaN(count) || count <= 0) {
         return 0;
    }
    function f(count) {
        if (count <= 2) {
            return 1;
         }
         return f(count - 1) + f(count - 2);
     }
        return f(count);
}

12.axios
参考

13.margin塌陷问题
垂直方向上相邻的两个box的边距不会为两者之和,而是取其中的最大值
参考
参考

14.消除浮动问题
参考

15.两栏自适应布局
参考

16.垂直居中一个浮动元素
参考

17.ajax相关试题
参考

ps.一些细节
1.var 的变量提升导致 i 提升成了函数作用域的变量而不是 for 作用域内的变量。解决方法将 var 改成 let 防止循环变量提升成函数变量。
2.concat:拼接数组

8.split&substr&slice

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值