重点
- var、let、const 的差异!
- 什么是作用域 ! 什么是作用域链 !
- 为什么 0.1 + 0.2 !== 0.3 !
- 、 = 和 Object.is() 的区别是什么!分别在什么情况使用
- for in 和 for of的区别
- JavaScript原型,原型链 ! 有什么特点!
- 深拷贝浅拷贝的区别!如何实现一个深拷贝!
- 数组Array的常用方法有哪些!
- JavaScript字符串的常用方法有哪些!
- DOM常见的操作有哪些!
- 说说你对闭包的理解!闭包使用场景
- bind、call、apply 区别!如何实现一个bind!
- 谈谈this对象的理解
- 什么是防抖和节流!有什么区别!如何实现!
- Javascript中如何实现函数缓存!函数缓存有哪些应用场景!
- 你是怎么理解ES6中Module的!使用场景!
- 列举 ES6 的新特性
- 说说你对事件循环的理解
- GC 垃圾回收机制及内存管理
- 说说 JavaScript 中内存泄漏的几种情况!
- Javascript本地存储的方式有哪些!区别及应用场景!
- 说说new操作符具体干了什么!
- web常见的攻击方式有哪些!如何防御!
八股文
变量
数据类型
- JS 中的 8 种数据类型及区别
- 原始数据类型和引用数据类型的区别!
- 为什么 0.1 + 0.2 !== 0.3 !
- 说说 Javascript 数字精度丢失的问题,如何解决!
- 谈谈 undefined 和 null !
- typeof null 的结果是什么!
- 谈谈 JavaScript 中的类型转换机制
- 、 = 和 Object.is() 的区别是什么!分别在什么情况使用
- 数据类型判断 instanceof 和 typeof 的区别
- 转为32位无符号整数
- parseInt 结果,并解释原因
- 从参数中提取有值字段
- js数组转对象
- js中filter过滤对象属性
- trim()或replace()不掉的空格是什么
- toString()、String.valueOf、(String)强转,有啥区别?
- js替换字符串中的空格,换行符替换成 br
运算符
对象
- JavaScript 创建对象有哪些方式!
- Javascript如何实现继承!
- JavaScript原型,原型链 ! 有什么特点!
- Map 和 WeakMap 有什么区别!
- 你是怎么理解ES6新增Set、Map两种数据结构的!
- 深拷贝浅拷贝的区别!如何实现一个深拷贝!
- 数组Array的常用方法有哪些!
- JavaScript字符串的常用方法有哪些!
- DOM常见的操作有哪些!
- JS中如何判断一个对象是空对象
- 在JS中如何判断两个对象是否相等
- 不区分大小写地访问 JavaScript 属性?
- js删除对象属性的多种方法举例
函数
- 说说你对闭包的理解!闭包使用场景
- 谈谈this对象的理解
- 类数组的转化方式有哪些!
- bind、call、apply 区别!如何实现一个bind!
- 立即调用函数表达式(IIFE)有什么特点!
- 箭头函数和普通函数的区别
- 什么是防抖和节流!有什么区别!如何实现!
- 请用js去除字符串空格!
- 说说你对函数式编程的理解!优缺点!
- Javascript中如何实现函数缓存!函数缓存有哪些应用场景!
- JavaScript中的slice和splice方法
- js中substr、substring、slice、splice的区别
- JavaScript 中 Math.floor() 和 parseInt() 的应用场景和区别
- 每个开发者都应该知道的 forEach() 和 map() 的区别
- 有了for循环 为什么还要forEach
- for in 和 for of的区别
- 一文看懂URL解析和拼参
- JS复制文字到剪切板的极简实现及扩展
字符串
异步
- js异步处理发展史
- async await 原理
- async&await的错误捕获方式
- 你是怎么理解ES6中 Promise的!使用场景!
- 如何模拟实现 Promise!
- 简单介绍下 ES6 中的 Iterator 和 Iterable
- 你是怎么理解ES6中 Generator的?使用场景?
- 如何实现红绿灯效果!
- 说一下 GET 和 POST 的区别!
- ajax原理是什么!如何实现!
模块(Modules)
ES6
- Reflect 有什么用!
- 你是怎么理解 ES6中 Proxy 的!使用场景!
- 为什么 Vue3 用 proxy 代替了 Vue2 中的 Object.defineProperty
- 列举 ES6 的新特性
- 说说你对正则表达式的理解!应用场景!
- ES6中数组新增了哪些扩展!
- 对象新增了哪些扩展!
- ES6中函数新增了哪些扩展!
- 你是怎么理解ES6中 Decorator 的!使用场景!
- 实现 Promise 串行执行
- Promise、try-catch-finally、async-await
运行时
- JavaScript中执行上下文和执行栈是什么!
- 说说你对事件循环的理解
- GC 垃圾回收机制及内存管理
- 说说 JavaScript 中内存泄漏的几种情况!
- 如何判断当前脚本运行在浏览器还是 Node 环境中!
- Javascript本地存储的方式有哪些!区别及应用场景!
- 请指出document load和document ready的区别!
- 获取表单元素的事件
- html dom 的 event 事件
- 说说JavaScript中的事件模型
- 解释下什么是事件代理!应用场景!
- 说说new操作符具体干了什么!
- 说说你对BOM的理解,常见的BOM对象你了解哪些!
- 举例说明你对尾递归的理解,有哪些应用场景
- 如何判断一个元素是否在可视区域中!