前端面试攻略4------JavaScript部分

1.js的作用域作用域链。

2.js的原型原型链,来一张巨经典的图片。能看懂或者你给面试官讲明白就ok了。还有instanceOf那些判断。
3.js的dom元素操作插入删除等等。
4.js的垃圾回收机制。(问的比较少)。
5.js中String或者Array或者Math内部常用的方法。这些在菜鸟教程上都可以看的。
6.ajax请求详细怎么实现,和其中的响应状态。
7.js的基础类型和引用类型
8.事件委托、事件冒泡、事件捕获。
9.addEventlistener和正常的onclick=()=> 的区别
10.js中new和object.creat区别
11.除了js中DOM的基础方法还有BOM中的方法。比如通过js直接取出相应的url的端口号,或者是协议名,或者url整体。
12.浏览器输入url之后最后网页渲染出来经过了什么(https://blog.csdn.net/xiaozhuxmen/article/details/52014901
13.js跨域实现。我大概回答的有webpack和nginx等代理跨域。CORS和jsonp等。一般这些就可以了
14.浏览器的同源策略
15.浏览器的回流和重绘,就是reflow那些东西。
16.call、bind、apply区别。
17.js实现继承怎么实现。原理是? 这个其实和上面的原型链原型是一起的。百度一下,多记住几种方式。
18.请求get和post的区别
19.js方法参数argument
20.深拷贝和浅拷贝,还可以引入序列化。还要明白序列化的缺点。
以下都是es6
21.promise,最好自己声明一个构造函数尝试去实现,这样面试官会觉得你学的很认真。如果实在自己写不出来上网查一下promise的实现原理或者源码应该就有。
22.闭包
23.let和const,最好全面一点解释,包括可以说一下变量提升引入一下var,和这些在什么场景下去使用。
24.generator
25.es6加上symbol的基础数据类型
26.set类型可以实现数组去重等。
27.箭头函数 重点,很多时候都会问 包括里面的简便写法和内部的this指针指向等等
28.解构赋值
29.es6新增加的正则符号。
30.或者直接问你es6有什么新加的东西,说得越多越好
 


1.js单线程和js具体怎么实现异步的。大概的技术名词有事件队列、执行栈、宏任务、微任务。具体的各位老铁们百度吧。。
2.webworke做分线程
3.vue-router原理实现。多看源码之类的
4.nginx负载均衡。redis共享数据等等等。
5.asm.js
原文地址:https://www.cnblogs.com/NightTiger/p/10501756.html