-
李茂志
- 什么是闭包
当一个函数内返回另一个函数时,返回的那个函数叫做闭包函数 - 什么是函数柯里化
局部套用,利用了闭包的原理,保存了程序的执行结果 - 什么是函数防抖
短时间内快速触发同一个事件,执行之前先干掉上一次,保证只执行最后一次(电梯门) - 什么是函数节流
单位时间内,只允许触发一次(地铁闸机口)
- 什么是闭包
-
李飞
- 什么是原型链
对象调用属性或方法时,现在自身查找,找到了就是使用,找不到就一次向上层原型查找,任意一层找到,就停止并使用,直到顶层,还找不到,就抛出undefined - 什么是Event Loop
Event Loop:事件循环机制
宏任务:一般用来执行同步程序,和部分异步程序
所有的同步程序都是宏任务:计时器,dom事件,ajax
微任务:一般用来执行异步程序抛出的其他功能
只有部分异步程序是微任务
微任务一定会在当前宏任务结束后,再开始执行 - 简单介绍Promise的使用
promise是为了优化回调地狱的问题,解决异步程序的- 作为实例使用:被new执行,创建一个promise实例
p.then(成功,失败),p.catch(所有失败)
(链式调用)then和catch的回调函数的返回值
(链式调用的优点)可读性好,方便调错,节省内存 - 作为对象使用,使用promise的类方法
promise类的方法:all一个失败为catch,全部成功才执行then
any()一个成功执行then,全部失败才执行catch
race(赛跑)只要有一个结束就结束
allSettled所有的promise都结束,不管成功失败都会触发then,参数为每个实例的状态和数据
promise.resolve()成功状态的promise
promise.reject()失败状态的promise
- 作为实例使用:被new执行,创建一个promise实例
- 什么是数据劫持,如何实现数据劫持
拦截数据的访问和修改,在数据被其他程序访问和修改时,执行附带的其他自定义功能
如何实现:自定义实现:自定义数据的访问方法和修改方法
get和set关键字
- 什么是原型链
-
邹雨楉
- ES6新增了哪些特性
声明关键字:let、const、箭头函数、展开运算符、解构赋值、字符的操作方法、反引号、数据类型:symbol、数据结构:set,map、遍历语句for-of
数据劫持的方法peoxy() - 常见的模块化规范有哪些
ECMAScript前端模块化
CommonJS后端模块化 - 如何实现ES6的模块化
暴露关键字:export{变量名或函数名}可以多次使用
export default 对象名:只能使用一次
引入模块关键字:import “文件路径+文件名”
import{暴露时的名字} from “文件路径+文件名”
使用了export default暴露的使用import 任意名字 from “文件路径+文件名” - 什么是单例模式,特点是什么
单个实例,整个应用使用过程中只出现一个实例,就算被多次调用也只有一个实例存在
特点:节省性能
- ES6新增了哪些特性
-
杜亚晨
- 有哪些本地存储技术,及其特点
localStorage 永久
sessionStorage 会话级
cookie 默认会话级,可修改4K 50条 - 什么是Ajax
ajax前后端交互的桥梁,可以在前后端中进行数据传输
优势:可以异步加载新数据,破坏了前进后退功能,破坏了搜索引引擎优化,提高了首屏加载速度
使用:四步走:创造载体、设置请求、状态监听、发送数据 - 什么是跨域
在浏览器中,使用XMLHttpRequest,发起请求是时,发起请求方和被请求方没有遵守同源策略并且被请求方没有设置“访问控制允许源”信息,就会被同源策略组织的情况,就叫跨域
解决跨域:服务器代理、JSONP、CORS - json有什么特点
必须是字符,不能是双引号字符
必须遵守花括号对象或中括号对象形式
如果是花括号对象形式,键必须使用双括号包裹
数据结尾不能出现没有意义的逗号
不允许出现函数,undefined,NaN
- 有哪些本地存储技术,及其特点
-
吴志明
-
什么是服务器代理
不使用浏览器,使用服务器发起请求
客户端A,请求服务端B
搭建临时服务端a,服务端a访问服务端B,客户端a在请求临时服务端A中的数据,即可实现 -
Object.defineProperty和Proxy的区别是什么
defineProperty只能劫持现有数据,不能劫持之后添加的数据,proxy可以 -
如何实现闭包
-
Object类身上有哪些常见方法
Object.defineProperty
Object.definePropertiesObject.create
Object.assign
Object.is
Object.setPrototypeOf
Object.getPrototypeOf
-
-
new的原理
- 创建新对象
- 改变this指向到这个新函数
- 将新对象的原型链(proto)指向原函数的原型对象(prototype)
- 执行原函数内的功能
- 检测原函数是否主动返回对象,如果没有,返回这个新对象
-
array类的方法
array.from
array.of
array.isArray
29号提问的面试题
最新推荐文章于 2024-09-04 20:18:34 发布