前端面试题
文章平均质量分 62
感谢上Di_123
感谢上Di的En典
展开
-
JS中的继承 原型链
这篇文章主要是讲解本人对于继承的理解第一种继承(属性继承)function Fn() { this.a = 4; this.b = 5; this.log = function () { console.log(this.a, this.b); };}Fn.prototype.qqq = 78;function Fn1() { ...原创 2019-02-26 22:32:11 · 155 阅读 · 0 评论 -
JS中的原型继承
本文主要是讲通过原型去实现继承假如有如下代码:function A() { this.name = 'A';};function B() { this.name = 'B';};A.prototype.whatever = function () { /* write some code */};B.prototype = new A()/*注意...原创 2019-02-26 22:59:07 · 206 阅读 · 1 评论 -
JS,有关cookie的知识
谈起cookie,是大部分开发人员,不止是前端开发了解的知识,很多后端的小伙伴也了解的知识点,最近开发一个项目,当是应用的场景是后端登录返回的token,需要在前端进行一个本地存储,前端本地存储设计的技术很多,例如:localStorage,sessionStorage,indexDB,webSQL......甚至也可以把这个token放在例如vueX这种状态管理器的状态树上来进行共享。由于是跟公司的内部官网对接,是在内部官网的基础上去拓展一个新项目,也就是说除了我这个项目之外,还有其他的项目也要用到这个t原创 2020-09-02 11:31:15 · 377 阅读 · 0 评论 -
react,一句话概括受控组件和非受控组件的概念
受控组件:简单来说,就是一个组件的状态更新不依赖于react。像是一些表单元素:input,textarea,select这些,都是自己更新自己的状态;可以看一下代码:import React, { Component } from 'react';import ReactDOM from 'react-dom';class Demo1 extends Component { render() { return ( // 此input的value原创 2020-11-20 18:54:04 · 527 阅读 · 3 评论 -
ES6的Promise结合reduce构建顺序执行队列
ES6的promise是用来处理异步操作的,他的一些基础的用法本篇就不在赘述,感兴趣的同学我可以给你们推荐几篇文章,让你们提升一下对Promise的基本认知,推荐如下:高级前端进阶-微信公众号上推送的一篇文章ES6Promise实战接下来话不多说,直接上代码: const createPromise = (id: number) => () => new Promise(resolve => setTimeout(()=>{ c原创 2020-12-24 17:28:30 · 1347 阅读 · 1 评论 -
Vue2双向数据绑定原理
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-.原创 2021-02-04 20:19:07 · 132 阅读 · 0 评论 -
flex布局
以上就是flex布局常用的属性,有需要的可以参考一下。参考文章:1、Flex 布局教程:语法篇 - 阮一峰的网络日志2、3、原创 2023-06-13 11:18:53 · 1053 阅读 · 0 评论 -
JS中call,apply,bind的区别和作用
【代码】JS中call,apply,bind的区别和作用。原创 2024-01-06 21:05:31 · 393 阅读 · 0 评论 -
requestAnimationFrame实现动画
实现浏览器在每一帧中,将页面div元素的宽度变长1px,直到宽度达到100px后停止。原创 2024-01-12 10:21:33 · 447 阅读 · 0 评论 -
DNS寻址过程
如上的简短概括一下,整个的流程要记清楚,方便在面试的时候跟面试官对答如流,字字珠玑,把他给说的心服口服的,完全征服面试官!原创 2024-01-19 17:36:53 · 678 阅读 · 0 评论 -
从一个url输入到正常显示出来一个网页经历了哪些过程
最后进行浏览器渲染,浏览器对请求回来的文件进行解析,解析成浏览器可以识别的格式,然后渲染成我们可以看到的网页。发起HTTP请求把相关的html文档和相关资源例如css文件,图片从服务端给请求回来。建立TCP连接要三次握手,断开连接要四次挥手。主要是以上的几个步骤了。原创 2024-01-27 11:35:42 · 567 阅读 · 1 评论 -
JS 请编写一个Child继承Parent的方法
JS 有哪些继承方式JavaScript 中常见的继承方式有以下几种:原型链继承构造函数继承组合继承(原型链加构造函数)原型式继承寄生式继承ES6 的class的extends关键字(用于现代类继承)原创 2024-05-09 15:24:11 · 278 阅读 · 0 评论 -
JS 实现快速排序/快排
(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。(1)在数据集之中,选择一个元素作为"基准"(pivot)。原创 2024-05-09 15:33:00 · 165 阅读 · 0 评论 -
JS 实现二分法查找
二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。注意前提是数组的顺序是从小到大或从大到小排列好顺序的。具体的实现步骤是:(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。(2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。(3)如果某一步数组为空,则表示找不到目标元素。原创 2024-05-09 15:45:34 · 250 阅读 · 0 评论 -
JS 实现一个简单的双向数据绑定
以上就是一个简单的双向数据绑定。二、用Proxy实现。原创 2024-05-15 17:02:15 · 202 阅读 · 0 评论 -
手写实现一个Promise
promise是前端解决异步的一个重要的东西。请自己实现一个Promise方法,可以满足以上的功能。原创 2024-06-11 10:27:29 · 184 阅读 · 0 评论 -
前端面试题大合集9----TypeScript
您可以使用?在接口中定义可选属性。属性名称后面的修饰符。可选属性可能存在于实现该接口的对象中,也可能不存在。原创 2024-06-07 16:07:53 · 730 阅读 · 0 评论 -
前端面试题大合集8----性能优化篇
9、尽量使用Css3动画,避免通过JS直接操作Dom去实现动画,合理使用requestAanimationFrame动画代替setTimeout,适当使用canvas动画(5个元素以内使用css动画,5个元素以上使用canvas动画,ios8中可以使用webGL);综上所述,前端性能优化是提高用户体验的重要手段,以上共讲述了四点,在日常学习工作中,我们应该根据具体的项目需求选择合适的优化手段,从而提高页面加载速度和渲染速度。合并js、css文件;CSS动画可以减少JS操作DOM的次数,提高页面渲染速度。原创 2024-05-28 18:46:57 · 439 阅读 · 0 评论 -
前端面试题大合集7----模块化/工程化/ES6+标准
传统的模块打包工具最终将所有的模块编译并生成一个庞大的bundle.js文件。通过使用不同的loader,我们能够调用外部的脚本或者工具,实现对不同格式文件的处理,loader需要在webpack.config.js里单独用module进行配置。vue-loader、coffee-loader、babel-loader等可以将特定文件格式转成js模块、将其他语言转化为js语言和编译下一代js语言;样式:style-loader、css-loader、less-loader、sass-loader等;原创 2024-05-28 17:52:10 · 708 阅读 · 0 评论 -
前端面试题大合集6----框架篇(Vue)
当数据变化后会调用notify方法,将watcher遍历,调用update方法通知watcher进行更新,这时候watcher并不会立即去执行,在update中会调用queueWatcher方法将watcher放到一个队列里,在queue Watcher会根据watcher的进行去冲,多个属性依赖一个watcher,如果队列中没有该watcher就会将该watcher添加到队列中,然后通过nextTick异步执行flushSchedulerQueue方法刷新watcher队列。原创 2024-05-28 15:32:41 · 801 阅读 · 0 评论 -
前端面试题大合集5----CSS篇
全称:Block Formating Context,块格式化上下文,是web页面的可视CSS渲染的一部分,相当于一个独立的容器,里面的元素和外部的元素相互不影响。1、什么方式会创建BFC根元素 html浮动 float绝对定位 absolute/fixedoverflow不为visibledisplay为表格布局,或者弹性布局,table/flex/grid清除浮动防止同一个BFC容器中的相邻元素间的外边距重叠问题box-sizing属性主要用来控制元素的盒模型的解析模式。原创 2024-05-14 11:19:13 · 304 阅读 · 0 评论 -
前端面试题大合集4----框架篇(React)
setState 只在合成事件和 hook() 中是“异步”的,在 原生事件和 setTimeout 中都是同步的。方法,由于Dom事件被阻止了,无法到达document,所以合成事件自然不会被触发。React合成事件机制:React并不是将click事件直接绑定在dom上面,而是。React在事件绑定时有一套自身的机制,就是合成事件。Dom事件流分三个阶段:事件捕获阶段,目标阶段,事件冒泡阶段。,然后React将事件封装给正式的函数运行和处理。原创 2024-05-13 10:28:05 · 916 阅读 · 0 评论 -
前端面试题大合集3----网络篇
TCP的性能瓶颈主要在于其握手过程和重传机制,而UDP的底层协议,就是大名鼎鼎的QUIC协议,一个运行在传输层的协议。在QUIC中,客户端可以无缝的从一个服务器切换到另一个服务器,而不需要断开原来的连接。当客户端想要切换到另一个服务器时,它会向新的服务器发送一个包含当前连接状态信息的包,新的服务器收到后,就可以立即开始处理客户端的请求。http3.0 :使用了 QUIC,开启多个 TCP 连接,在出现丢包的情况下,只有丢包的 TCP 等待重传,剩余的 TCP 连接还可以正常传输数据;原创 2024-05-06 09:35:55 · 612 阅读 · 2 评论 -
前端面试题大合集2----基础篇
事件代理( Event Delegation ),又称之为事件委托。是 JavaScript 中常用的绑定事件的常用技巧。顾名思义,“事件代理”即是把原本需要绑定的事件委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡。使用事件代理的好处是可以提高性能可以大量节省内存占用,减少事件注册,比如在 table 上代理所有 td 的 click 事件就非常棒可以实现当新增子对象时无需再次对其绑定数据封装类对象:Object、Array、Boolean、Number、String。原创 2024-04-28 14:35:02 · 713 阅读 · 0 评论 -
前端面试题大合集1----基础篇
原型链就是实例对象在查找属性时,如果查找不到,就会沿着__proto__去与对象关联的原型上查找,有则返回,如果找不到,就去找原型的原型,直至查到最顶层Object函数的原型,其原型对象的__proto__已经没有可以指向的上层原型,因此其值为null,返回undefined。但是对于复合数据类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。原创 2024-04-10 17:48:12 · 300 阅读 · 0 评论