前端大牛熬夜把JavaScript面试题整理成了PDF文档,希望你看完这份文档之后对JavaScript会有更深入的了解。
1,原链接
- 创建对象有几种方法?
- instanceof的原理?
2,类
- 类的声明?
- 生成实例?/ 声明一个类,怎么生成类的实例?
3,继承
- call、apply的共同点与区别?
- 用javascript实现对象的继承/ 继承的几种方式,这几种方式的优缺点?
4,作用域
- 说说你对作用域链的理解?
- this?
- 请说出下列的值?
- 请说出下列的值?
5,javaScripti闭包
- 闭包的特征?
- 闭包应用场景?
- 实际开发中闭包的应用?
- 请说出下列的值?
- 请说出下列的值?
- 请说出下列的值?
6,js运行机制/ 单线程/ 异步
- 如何理解js的单线程?
- js为什么是单线程的?
- 同步和异步的区别是什么?分别举一个同步和异步的例子?
- 何时需要异步?
- 什么是任务队列?
- 请说出下列的值?
- 栈和队列的区别?
- 栈和堆的区别?
- 什么是event loop?
- event-loop流程?
- 哪些语句会放入异步任务队列中?
- 何时被放入任务队列?
7,js数据类型
- js使用typeof能得到的哪些类型?
- 如何准确判断一个变量是数组类型?
- js变量按照存储方式区分为哪些类型,并描述其特点?
- null和undefined的区别?
- undefined的典型用法?
- null的典型用法?
- chrome60+浏览器中,a===b的是哪项?
8,js中的内置函数/内置对象
- js中有哪些内置函数/ 数据封装类对象?
- js中有哪些内置对象?
- js变量按照存储方式区分为哪些类型,并描述其特点?
- 字符串方法/ String对象方法?
- 数组方法/ Array对象方法?
- 数组API?
- 对象API?
9,数组去重
- 数组怎么去重?(方法)
- 对上述数组去重方法速度比较?(性能)
- 一句话数组去重?
- 保留数组中非重复元素?
- 保留数组中重复元素?
10,js逻辑判断
- 请写出下面的答案?
11,内存泄漏
- 哪些操作会造成内存泄漏?
- js内存泄漏的解决方式
12,dom
- dom是哪种基本的数据结构?
- dom操作的常用api有哪些?
- dom节点的attribute和property有何区别?
- dom结构操作/ 怎样添加、移除、移动、复制、创建和查找节点/ dom操作的
常用api? - dom事件的级别?
- dom事件模型?
- dom事件流?
- 描述dom事件捕获的具体流程?
- event对象的常见应用?
- 自定义事件/ 模拟事件?
- 通用事件绑定/ 编写一个通用的事件监听函数?
- dom树、render树的关系/ dom树、render树的区别(第2、3条)?
13,bom
- bom常用属性?
14,通信
- 什么是同源策略及限制?
- 前后端如何通信?
- 跨域通信的几种方式?
- jsonp实现?
- 可以跨域的三个标签?
- 三个可跨域的标签的使用场景?
15,ajax
- ajax请求的原理/ 手写一个ajax请求?
- readyState?
- ajax异步与同步的区别?
- ajax传递中文用什么方法?
16,错误监控
- 前端错误的分类/ 如何检测js错误/ 如何保证你的产品质量?
- 错误的捕获方式?
- 上报错误的基本原理?
17,模块化
- amd、cmd区别?
- amd、commonJs区别?
18,虚拟dom
- vdom的如何应用,核心api是什么?
- 虚拟dom转换成真实dom?
- diff实现过程?
19,js基础
- 对js的理解?
- 请说出以下代码输出的值?
- 把以下代码,改写成依次输出0-9
- 如何区分数组对象,普通对象,函数对象
- 面向对象、面向过程
- 面向对象的三大基本特性
- XML和JSON的区别?
- Web Worker 和webSocket?
- Javascript垃圾回收方法?
- new操作符具体干了什么呢?
- js延迟加载的方式有哪些?
- WEB应用从服务器主动推送Data到客户端有那些方式?
由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的JavaScript面试题文档,或更多前端资料可点此处获取。