前端面试题 / 疑难症症
- 常见的数据类型有哪些?
- Symbol 有什么作用? 应该怎么使用他?
- 数据类型隐形转换的规则
- js的继承方式有哪些?项目中为什么要使用它?
- 如何判断是否为数组?(instanceOf和constructor可以,但是有原型链断裂的风险,Object.toString.call()最稳定)
- ajax是同步还是异步,怎么样实现同步
- ajax实现过程
- 闭包的作用理解,以及那些地方用过闭包,以及闭包的缺点,如何实现闭包
- 跨域方法以及怎么样实现的与原理
- 数组去重
- 快排和冒泡原理
- 对跨域了解吗。jsonp的限制
- 浏览器那些地方用到了异步
- ES6用过吗,新增了那些东西,你用到过什么?
- js的this理解, 如何改变this的指向
- cookie有什么限制
- js的事件机制
- 事件循环机制 eventloop
- 定时器setTimeout的运行机制
- 手写一下深拷贝,答案提示:JSON.parse(JSON.stringify(obj)) 用JSON实现深拷贝
- 请简述一下js原型链
- es6有了解吗,请简单说一下promise机制,异步的承诺机制,顺势说一下解决回调地狱的问题
- == 和 === 的却别,,typeof null的结果是什么
- 同步和异步的执行顺序
- get和post的请求区别
- 什么情况算是跨域,如何解决跨域问题
- 一个有序的数组如何进行查找操作
- 手写一个快速排序
- 事件委托理解,原理,好处,应用场景
- 闭包是什么?
- let和var的区别,let的产生背景?
- cookie和session的区别和联系
- 如何去除数组中的重复的项?
- 遍历数组处理用for循环还有什么方法吗
- JS如何计算浏览器的渲染时间的
- var的变量提升底层原理是什么?
- event loop讲讲
- JS的垃圾回收机制说一下
- 数组常用的方法有哪些
- proto 和prototype分别是什么
- 原型链原理
- 在原型链上Object再往上是什么
- new和Object.create的区别
- 哪种情况下__proto__和prototype的指向是同一个?
- typeof array null undefined NaN分别是什么
- 把undefined和null转成Number分别是什么
- instanceOf和constructor的区别
- 原型链断裂了以后的结果是什么
- 如果让你实现一个promise怎么样实现
- 谈谈对原型链继承
- cookie,session,localStorage和sessionStorage的区别
- JS的全排列
- get和post的区别
- promise的状态有哪些
- 讲讲JS的语言特性吗
- 什么是重排和重绘
- es6和es5的区别
- es5如何转为es5-babel
- 作用域链
- 什么是递归
- 什么是js事件流
- 浏览器内存泄露,闭包内存泄露如何解决
- es6的特性以及这些特性如何实现的
- 事件冒泡,事件捕获,事件委托的原理,如何实现委托,事件,委托的有点是什么,事件监听
- 谈谈js设计模式
- 如何实现订阅者或发布者模式
- 谈谈JS的异步机制
- call apply bind的区别
- html5的新特性
- 如何异步加载JS
- cookie长度限制
- Ajax返回204算是成功吗
- promise是如何解析异步操作的
- 什么是异步
- 函数节流和函数防抖知道吗,区别是什么
- hashmap原理
- 一个数组只有1和2,排序,1在前面,2在后面
- js事件模型,捕获和冒泡,阻止冒泡
- preventDefault和stopPropagation的区别
- amd,cmd规范
- 如何删除一个dom节点
- 怎么样把一个数组存进localSorage
- storage有哪些存储方法
- promise的两个方法,具体实现
- 箭头函数是什么
- typescript和es6的区别
- 如何实现事件监听
- 常见的请求方式
用于处理日常业务的常用工具类/方法/库: