前端面试题(JavaScript)
(前端面试题大全,持续更新)html
- 箭头函数特色?箭头函数和普通函数的区别
- 手写懒加载(考虑防抖和重复加载问题)
- 手写bind(为何要加预参数,为何要加new)
- apply, call, bind
- new一个对象中间作了什么操做
- setTimeout必定会按时执行吗?
- 讲一讲event loop(微任务、宏任务等)
- promise原理,Promise.all() 和 Promise.race() 怎么用,他是干啥的?你会在啥场景使用他,promise如何解决回凋地狱?如何和ajax配合?
- async和generator有什么区别,写一个async和generator函数,并介绍区别
- 内存,
- 深拷贝和浅拷贝 object.assign
- 原型链
- 继承
- es6的新属性
- 闭包
- 数组方法
- 字符串方
- sort 底层原理,是否是每一个浏览器都是这样
- 冒泡,query书写(事件冒泡)
- 写sleep函数
- defineProperty的参数
- 一个对象不让改变,不让循环怎么作? writeable, enumable
- 基本类型?symbol()
- 建立DOM节点,添加,删除,替换,克隆对应的 api 是什么
- 实现一个 Event 类,具备 on\off\trigger\once 四个方法
- 实现去抖函数
- 实现反转函数
- 节流函数
- reduce实现map的功能
- 解释并实现 new 操做 `function newOperator(Constructor, args) {}`
- js单线程。
- js判断数组。
- 浮点数计算0.7+0.1,缘由
- window.onload和document.onload区别
- this指向的问题
- 类型判断,这个很简单,写了typeof, instanceof, Object.toString.call ,
- class
- async/await
- Proxy:拦截什么(get,set,deleteProperty, has, getPrototypeOf, defineProperty )
- 如何执行异步?
- setTimeout、setInterval与requestAnimationFrame
- 讲一下什么是 prototype
- 类数组转化成数组的方法
- 代码题,思路是将一个嵌套的数组用深度遍历和广度遍历分别写出来
- js类型,封装一个类型鉴定函数
- 当即执行函数解决闭包中访问变量的问题
- 事件轮训机制
- 预编译,
- 严格模式,
- 做用域链
- js脚本加载问题,async、defer问题
- 打平数组和规定深度的打平数组
- 给定一个字符串以下,请统计字符串中出现最多的字母和次数
- 实现必定时间内事件只触发一次
- 值类型str为何又length属性
- 串行和并行
- 经常使用js调试工具
欢迎关注本站公众号,获取更多信息