1. get 请求传参长度的误区
- HTTP 协议 未规定 GET 和 POST 的长度限制
- GET 的最大长度显示是因为 浏览器和 web 服务器限制了 URI 的长度
- 不同的浏览器和 WEB 服务器,限制的最大长度不一样
2. get 和 post 请求在缓存方面的区别
- get 请求类似于查找的过程,用户获取数据,可以不用每次都与数据库连接,所以可以 使用缓存。
- post 不同,post 做的一般是修改和删除的工作,所以必须与数据库交互,所以不能使用 缓存。因此 get 请求适合于请求缓存。
3. 说一下闭包(概念,作用,实现)
- 函数中的局部变量在函数执行完后会被销毁,不希望这个局部变量会被销毁,我们还想在外部进行持续的操作和访问,闭包就是利用内部函数能够访问父级函数作用域的变量这个理念,实现这种场景的应用。
- 闭包就是能够读取其他函数内部变量的函数,子函数在外调用,子函数所在的父函数的作用域不会被释放。
- 闭包容易产生内存泄漏【当内存中产生了不能被回收的变量,就叫内存泄漏】,因为父作用域只有子函数能访问,但又不属于哪一个执行上下文,所以销毁不掉,只要页面不关闭,这个变量就一直在,导致存在内存泄漏的问题
- 使用场景:希望某些函数内的变量在函数执行后不被销毁,使用全局变量容易被污染,这时候可以使用使用闭包
4.类的创建和继承
5.如何解决异步回调地狱
6.如何让事件先冒泡后捕获/事件委托以及冒泡原理/事件模型
7.说一下事件委托
8.说一下图片的懒加载和预加载
9.mouseover 和 mouseenter 的区别
10.改变函数内部 this 指针的指向函数
11. clientHeight,scrollHeight,offsetHeight ,以及 scrollTop, offsetTop,clientTop 的区别?
12.JS 拖拽功能的实现
13.异步加载 JS 的方法
14.Ajax 解决浏览器缓存问题
15.JS 的节流和防抖
16.JS 中的垃圾回收机制
17.eval 是做什么的
18.如何理解前端模块化
19.说一下 CommonJS、AMD 和 CMD
20.对象深度克隆的简单实现
21.实现一个 once 函数,传入函数参数只执行一次
22.将原生的 ajax 封装成 promise
23.JS 监听对象属性的改变
24.如何实现一个私有变量,用 getName 方法可以访问,不能直接访问
25.和=、以及 Object.is 的区别
26.setTimeout、setInterval 和 requestAnimationFrame 之间的区别
27.实现一个两列等高布局,讲讲思路
28.自己实现一个 bind 函数
29.用 setTimeout 来实现 setInterval
30.JS 怎么控制一次加载一张图片,加载完后再加载下一张
31.代码的执行顺序
32.如何实现 sleep 的效果
33.简单的实现一个 promise,底层如何实现
34.Function.proto(getPrototypeOf)是什么?
35.深度克隆
36.简单实现 Node 的 Events 模块
37.箭头函数中 this 指向
38.JS 判断类型
39.数组常用方法
40.数组去重
41.闭包 有什么用
42.事件代理在捕获阶段的实际应用
43.去除字符串首尾空格
44.性能优化
45.能来讲讲 JS 的语言特性吗
46.跨域/跨域的原理
46.JS 基本数据类型
47.JS 的全排列
48.不同数据类型的值的比较,是怎么转换的
49. requestAnimationFrame,请问是怎么使用的
50. 什么是按需加载
51.说一下什么是 virtual dom
52.webpack 用来干什么的
53.ant-design 优点和缺点
54.JS 中继承实现的几种方式,
55.Vue 的生命周期
56.简单介绍一下 symbol
57.JS 原型链,
58.promise+Generator+Async 的使用
59.写个函数,可以转化下划线命名到驼峰命名
60.JS 中 string 的 startwith 和 indexof 两种方法的区别
61.JS 字符串转数字的方法
62.let const var 的区别
63.ES6 箭头函数的特性
65.setTimeout 和 Promise 的执行顺序
66.JS 的垃圾回收机制
67.怎么获得对象上的属性
68.ES6 的一些新特性
69.如何写一个继承?
70.三个 promise,A、B 和 C,想串行执行
// promise A.then(B).then(C).catch(...) // async/await
(async ()=>{
await a();
await b();
await c();
})()
71.promise 和 await/async 的关系
72.JS 加载过程阻塞,
73.JavaScript 中的轮播实现原理
74.arguments