前端面试题
文章平均质量分 66
前端常见面试题
云之遥_
P0 | 前端一年级小学生
展开
-
面试题 - 数据类型之对象
一、对象1. 语法对象可以通过两种方式进行定义:字面量的方式let myObj = { name:'joly'}构造形式let myObj = new Object();myObj.name = 'joly'两者声明出来的对象是一致的,唯一的区别是:字面量可以一次性添加多个属性,而构造函数的形式要单独添加。2. 类型对象是JavaScript中的一种基本数据类型,在对象中又有一些子类型:ArrayFunctionDate…内置对象内置对象中 Strin原创 2021-07-07 09:58:17 · 179 阅读 · 0 评论 -
面试题 - 四种查找数组中是否有某个元素的方法
官方定义:Themethod returns the first index at which a given element can be found in the array, or -1 if it is not present.(方法返回可在数组中找到给定元素的第一个索引,如果不存在则返回-1)原创 2019-07-18 20:32:41 · 37029 阅读 · 1 评论 -
面试题 - 数组API及常见排序算法
一、构造数组1 - Array创建一个数组:new Array(item1,item2…)字面量创建一个数组:let array = []2 - 转换数组Array.ofArray.fromlet arr3 = Array.of("a","b");let arr4 = Array.of(3); // 把传进来的值作为数组的第一项let arr5 = Array.from({0: 'a', 1: 'b', 2:'c', length: 3});console.log(arr3)原创 2021-07-22 20:50:17 · 398 阅读 · 1 评论 -
面试题 - 如何实现一个深拷贝
【代码】面试题 - 如何实现一个深拷贝。原创 2019-04-11 11:14:32 · 219 阅读 · 0 评论 -
面试题 - 原型及原型链
一. [[protoType]]1 - [[prototype]]属性什么是[[Prototype]]属性JavaScript中每一个对象都有一个内置的[[prototype]]属性,这个属性指向对其他对象的引用。大多数情况下这个对象的值都不为空。原型链的尽头 - Object.prototype当执行 [[Get]] 操作时,如果当前对象没有查找的属性,则会继续向上查找原型链,直到查找到原型链的尽头 Object.prototype,如果依旧没有则返回 undefined 。所以自定义的原创 2021-07-12 20:42:30 · 753 阅读 · 1 评论 -
面试题 - 七种前端实现继承的方式
一、常见的几种继承方式原型链继承构造函数继承组合继承原型式继承寄生继承寄生组合继承extends 继承二、常见继承方式的优缺点1 - 原型链继承实现:手动绑定父类对象为子类的原型链,使用new关键字实例化子类关键:子类和父类都是构造函数,不是具体的字面量表达式// 父类构造函数function Parent1(){ this.name='parent1'; this.friends = ['Tom','Joly','Tim'];}// 子类构造函数functi原创 2021-07-20 20:43:50 · 919 阅读 · 0 评论 -
面试题 - 事件循环机制
一、浏览器JS异步执行的原理一般常说js是一门单线程语言,那为什么可以异步执行且不发生阻塞呢?常说的JS是单线程语言,是因为执行JS的引擎是单线程的,而浏览器本身是多线程的浏览器主要含有:js 执行线程定时器线程http 请求线程事件触发线程GUI 线程等异步请求的真正执行者是浏览器的其他线程js 引擎只是执行了异步操作成功了之后的回调函数二、事件循环机制1 - 执行栈和任务队列(1)执行栈是什么用于按执行顺序存放同步代码按序执行,执行完毕后弹出执行栈如果在执原创 2021-08-05 10:55:14 · 4584 阅读 · 0 评论 -
面试题 - 六种前端异步处理方案汇总
前端异步处理解决方案汇总文章目录前端异步处理解决方案汇总背景传统解决方案1 - 回调函数2 - 事件触发ES6+ 解决方案1 - Promise2 - gengerator 函数generator-thunkgenerator-promise3 - async 和 await相关演示代码下载链接参考链接背景1. 单线程机制js是一门单线程语言,即一次只能完成一个任务。每个任务都必须按顺序执行,并且一个任务执行结束后,才可以继续执行下一个任务。TaskA --> TaskB -->原创 2020-08-12 14:41:35 · 1512 阅读 · 0 评论 -
面试题 - HTML中的缓存机制(webStorage及cookie)
HTML中的缓存机制原创 2018-11-27 10:10:30 · 441 阅读 · 1 评论 -
面试题 - 一文彻底了解WebSocket
一篇文章了解WebSocketWebSocket 产生背景在我们开发过程中使用最多的就是 HTTP协议,当我们想要获取某些数据时由客户端发起请求,服务端接受请求并返回相对应的数据。但是这种单项请求方式存在一定的弊端,那就是只能由客户端发起请求,服务端响应,服务端不能够直接给客户端发送数据。而在实际开发中我们往往会遇到这些情况:数据在不断的发生变化,需要实时从服务器请求数据。例如:系统的实时运...原创 2020-04-26 10:45:35 · 1536 阅读 · 0 评论 -
面试题 - 手写JSON.stringify
一、JSON.stringify方法的基本使用作用:将对象转换成JSON字符串的格式,配合JSON.parse可实现基础版的对象深拷贝语法:JSON.stringify(value[, replacer [, space]])let myObj1 = { name:'Tim', age:10, friends:[1,2,3], sex:'boy'}// 第一个参数:必须,需要序列化的对象let objToString1 = JSON.stringify(myObj1);c原创 2021-07-21 17:58:17 · 804 阅读 · 0 评论 -
面试题 - 三种JS实现文件下载的方式(a标签、form表单、blob)
根据后台设置的下载格式及请求方式不同,分别采用不同元素的下载。1、 后台的请求为http请求,返回的格式为url格式,采用a标签下载2、 后台的请求为直接get请求,返回的格式为文件流,采用form表单下载3、 后台的请求为http请求,返回的格式为文件流,采用blod转url下载。原创 2018-12-14 14:20:54 · 22945 阅读 · 2 评论 -
面试题 - 四种JSON字符串转对象的实现方式
1. 将json字符串转化为json对象a. 方案一:jquery自带的$.parseJSON函数<script>var jsonstr="{\"id\":\"1\",\"name\":\"jack\"}";var obj=$.parseJSON(jsonstr);&a原创 2018-09-10 21:55:15 · 9754 阅读 · 1 评论 -
面试题 - 三种表单序列化的方式及序列化后追加参数原理
由serialize函数的源码可以看出,序列化的本质在于对表单数组执行$.param()方法,对值进行编码拼接。在进行表单控制时,如果某一个表单即不可以被编辑但同时也需要被提交,可以设置readonly属性,通过给含有readonly属性的表单添加特定的css样式来模拟disabled的样式。如果没有选中值,就不会提交该表单元素,即不会出现当前name表单为off的情况。如果name值相同的表单提交,该name值会出现多次,且对应不同表单的值。会提交该name表单,但是提交的值为空字符串。原创 2019-05-06 14:12:38 · 6470 阅读 · 1 评论 -
面试题 - 两种前端解码转码的实现方式(基于浏览器与正则表达式)
【代码】面试题 - 两种前端解码转码的实现方式(基于浏览器与正则表达式)原创 2019-04-12 09:52:38 · 1345 阅读 · 1 评论