程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

前端面试总结

发布于2021-04-09 07:09     阅读(250)     评论(0)     点赞(28)     收藏(4)


1. 防抖和节流
在这里插入图片描述
什么是防抖和节流,他们的应用场景有哪些?

//防抖第一次立即执行
function debounceImmediate(f, wait){
    let timer;
    let flag = true;
    return (...args) => {
        clearTimeout(timer);
        if (flag) {
            f(...args);
            flag = false;
        }
        timer = setTimeout(() => {
            flag = true;
        }, wait);
    }
}
//防抖合并实现(通过传参判断是否需要第一次立即执行)
function debounceMerge(f, wait, isImmediate) {
    let timer;
    let flag = true;
    return (...args) => {
        clearTimeout(timer);
        if (flag) {
            flag = false;
            isImmediate && f(...args);
        }
        timer = setTimeout(() => {
            !isImmediate && f(...args);
            flag = true;
        }, wait);
    }
}
//节流第一次立即执行
function throttleImmediate(f, wait) {
    let timer;
    let flag = true;
    return (...args) => {
        if (timer) return;
        if (flag) {
            f(...args);
            flag = false;
            timer = setTimeout(() => {
                flag = true;
                timer = null;
            }, wait);
        }
    } 
}
//节流合并实现(通过传参判断是否需要第一次立即执行)
function throttleMerge(f, wait, isImmediate) {
    let timer;
    let flag = true;
    return (...args) => {
        if (timer) return;
        if (flag) {
            isImmediate && f(...args);
            flag = false;
            timer = setTimeout(() => {
                !isImmediate && f(...args);
                flag = true;
                timer = null;
            }, wait);
        }
    }
}

2. HTTP缓存
在这里插入图片描述
彻底弄懂HTTP缓存机制及原理

3. 浏览器同源策略
在这里插入图片描述
浏览器同源政策及其规避方法
跨域资源共享 CORS 详解

4. 前端安全
在这里插入图片描述

前端安全 美团技术团队

5. HTTP 2.0有哪些特性
在这里插入图片描述
HTTP----HTTP2.0新特性

6. 原型、原型链
在这里插入图片描述在这里插入图片描述
一张图搞定JS原型&原型链

7. 闭包
在这里插入图片描述
深入理解javascript原型和闭包系列
闭包,看这一篇就够了——带你看透闭包的本质,百发百中

8. 作用域、作用域链
在这里插入图片描述
深入理解JavaScript作用域和作用域链

9. JS 继承方式
在这里插入图片描述
js继承的6种方式

10. JS 深拷贝、浅拷贝
在这里插入图片描述
深拷贝与浅拷贝的区别,实现深拷贝的几种方法
JavaScript 如何完整实现深度Clone对象?

11. JS 对象的遍历方法
在这里插入图片描述
js遍历对象的几种方法

12.Promise函数、async/await
在这里插入图片描述
Promise对象
简单实现Promise
async/await 原理及执行顺序分析

13. 用 setTimeout 实现 setInterval、clearInterval
如何用setTimeout实现setInterval、clearInterval

14. JS 事件循环机制

15. 八大排序
代码实现
时间复杂度
最好/最坏时间复杂度
空间复杂度
稳定性

16. 用 Promise 函数实现 Ajax 请求

const getJSON = function(url) {
  const promise = new Promise(function(resolve, reject) {
    const handler = function() {
      if (this.readyState !== 4) {
        return;
      }
      if (this.status === 200) {
        resolve(this.response);
      } else {
        reject(new Error(this.statusText()));
      }
    };
    const client = new XMLHttpRequest();
    client.open('GET', 'url');
    client.onreadystatechange = handler;
    client.responseType = "json";
    client.setRequestHeader("Accept", "application/json");
    client.send();
  });
  return promise;
}

getJSON("/posts.json").then(function(json) {
  console.log('Contents: ' + json);
}, function(error) {
  console.error('出错了', error);
});

17. vue3 有哪些特性?
vue3 迁移指南

18. ES6 新增了哪些特性/内容?
在这里插入图片描述
ES6 入门教程—阮一峰

19. 你是怎么学习前端的?

20. 什么是“大前端” ?

21. Node.js 有了解过吗?

22. HTTP 和 HTTPS的区别?

23. SSL 和 TSL

24. CSS 水平、垂直居中怎么实现?

25. flex 布局

26. 浏览器从输入一个 url 到页面展示经过了什么?

27. 浏览器渲染过程?

28. BFC、IFC是什么?

29. 有用过 webpack 吗?

30. 离线存储的方式有哪些?

31. JS 数组、字符串有哪些方法和属性?

32. 怎么实现文件上传?

33. 前端性能优化方式有哪些?

34. vue 的双向绑定原理是什么?怎么实现?

35. vue 中父组件、子组件怎么通信?

原文链接:https://blog.csdn.net/weixin_42554695/article/details/115499049




所属网站分类: 技术文章 > 博客

作者:代码搬运工

链接:http://www.qianduanheidong.com/blog/article/58525/09f2438fd6f1f3866d46/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

28 0
收藏该文
已收藏

评论内容:(最多支持255个字符)