面试
文章平均质量分 80
tinfengyee
这个作者很懒,什么都没留下…
展开
-
JavaScript/TypeScript变量声明
变量声明前言var 声明作用域规则前言面试过程中, 总有一些面试官喜欢问概念性的东西, 我懂, 但是我忘了专业名词…let 和 const是 JavaScript 里相对较新的变量声明方式。let 在很多方面与 var 是相似的,但是可以帮助大家避免在 JavaScript 里常见一些问题。const 是对 let 的一个增强,它能阻止对一个变量再次赋值。因为 TypeScript 是 JavaScript 的超集,所以它本身就支持let 和const。 下面我们会详细说明这些新的声明方式以及为什么原创 2020-05-29 18:23:29 · 632 阅读 · 0 评论 -
Vue面试相关问题整理
Vue面试相关问题整理前言什么是vue生命周期Vue生命周期总共有几个阶段Vue的双向数据绑定原理是什么vue组件间通信六种方式对于MVVM的理解什么是MVCMVVM与MVC区别Vue 组件 data 为什么必须是函数,data什么时候可以适用对象?vue中 key 值的作用什么是vue的计算属性computed 和 watch 的差异delete和Vue.delete删除数组的区别v-if与v-show的用法与区别vuex是什么?怎么使用?哪种功能场景使用它?vuex中的变量是响应式的,页面刷新后数据无法原创 2020-05-16 01:22:26 · 465 阅读 · 0 评论 -
前端EventEmitter,发布/订阅模式,Vue双向数据绑定
前端EventEmitter,发布/订阅模式前言实现拓展Vue 中非父子组件组件通信通俗易懂了解Vue双向绑定原理及实现Vue双向绑定原理,教你一步一步实现双向绑定参考的代码1参考代码2`推荐`[Source Code - JavaScript - 学习优雅的编码](https://segmentfault.com/a/1190000015043262)参考前言发布订阅模式,很多地方都用到的一种模式,简单的说就是预定一件事情,时机成熟通知你,比如我们nodejs中的fs的读写文件的流,消息事件的触发等都原创 2020-05-12 21:01:52 · 644 阅读 · 0 评论 -
JS面试相关问题整理
标题前言参考JS基本数据类型和引用数据类型什么是堆?什么是栈?它们之间有什么区别和联系?内部属性 [[Class]] 是什么?介绍 js 有哪些内置对象?null 和 undefined 的区别?从(内存)来看 null 和 undefined 本质的区别是什么?如何获取安全的 undefined 值?JavaScript 原型,原型链? 有什么特点?调用 person1 的“实际定义在 Obje...原创 2020-05-03 12:42:41 · 313 阅读 · 0 评论 -
事件冒泡和捕获、事件委托
标题前言问题引入:addEventListener参数1.冒泡2.捕获3.当一个元素绑定两个事件,一个冒泡,一个捕获总结事件委托参考前言要理解DOM相关事件,我们先要理解“事件流”这个概念,事件流描述的是从页面中接收事件的顺序。事件冒泡:事件开始由最具体的元素接收,然后逐级向上传播到较为不具体的节点或文档。事件捕获:事件开始由不太具体的节点接收,然后逐级向下传播到最具体的节点。它与事件冒泡...转载 2020-05-02 22:52:10 · 298 阅读 · 0 评论 -
HTTP面试相关问题整理
HTTP面试相关问题整理前言参考http状态码有那些?HTTP是什么?GET和POST两种基本请求方法的区别?即时通讯的实现,短轮询、长轮询、SSE长连接 和 WebSocket 间的区别?当你在浏览器中输入 Google.com 并且按下回车之后发生了什么?说说TCP传输的三次握手四次挥手策略断开一个TCP连接则需要“四次握手”:为什么服务器在接到断开请求时不立即同意断开说说网络分层里七层模型是...原创 2020-04-25 23:39:29 · 589 阅读 · 0 评论 -
TCP与UPD区别?TCP三次握手和四次挥手详解
TCP三次握手和四次挥手前言TCP和UDP的区别TCP三次握手过程理解过程:简单过程:详细过程:详细过程分析实例TCP四次挥手为什么服务器在接到断开请求时不立即同意断开?过程理解过程:详细过程:参考前言TCP(Transmission Control Protocol)-传输控制协议。TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,...原创 2020-04-25 15:55:18 · 302 阅读 · 0 评论 -
Web端即时通讯技术简析:轮询、长轮询、长连接、websocket
前言Web端即时通讯技术:即时通讯技术简单的说就是实现这样一种功能:服务器端可以即时地将数据的更新或变化反应到客户端,例如消息即时推送等功能都是通过这种技术实现的。但是在Web中,由于浏览器的限制,实现即时通讯需要借助一些方法。这种限制出现的主要原因是,一般的Web通信都是浏览器先发送请求到服务器,服务器再进行响应完成数据的现实更新。 实现Web端即时通讯的方法:实现即时通讯主要有四种方式,...转载 2020-04-25 00:06:14 · 504 阅读 · 0 评论 -
Web 通信 之 长连接、长轮询(long polling)
目录前言基于HTTP的长轮询简单实现Web 通信 之 长连接、长轮询(long polling)一、什么是长连接、长轮询?二、长连接、长轮询的应用场景三、优缺点四、实现原理五、程序设计1、普通轮询 Ajax方式2、普通轮询 iframe方式3、长连接iframe方式4、ajax实现长连接六、总结参考前言转载仅是为了个人方便参考学习,技术或许过时了,推荐使用websocket。基于HTTP的长...转载 2020-04-24 23:30:28 · 585 阅读 · 0 评论 -
HTML面试相关问题整理
HTML面试相关问题整理前言HTML5语义化b 与 strong 的区别和 i 与 em 的区别?浏览器架构为什么最好把 CSS 的``标签放在``之间?为什么最好把 JS 的`前言写完CSS面试相关问题整理,继续整理。HTML5语义化什么是语义化?就是用合理、正确的标签来展示内容,比如h1~h6定义标题。好处易于用户阅读,样式丢失的时候能让页面呈现清晰的结构。有利于SEO,搜索引擎...原创 2020-04-24 16:53:51 · 428 阅读 · 0 评论 -
CSS面试相关问题整理
CSSCSS 选择器的优先级是如何计算的?css盒子模型CSS 选择器的优先级是如何计算的?css盒子模型盒模型的概念:网页中,每一个元素都占有一定的空间,无论是div、h1~h6、还是p,都可以看成是盒子。盒模型的概念:网页中,每一个元素都占有一定的空间,无论是div、h1~h6、还是p,都可以看成是盒子。盒模型的组成: content(内容)、padding(内边距)、borde...原创 2020-04-23 23:16:09 · 521 阅读 · 0 评论 -
CSS布局系列
前言一般布局前可以先重置一下样式,如这个仓库,使用normalize.css和reset一些常用的属性(如清除浮动等)/** * 1. Avoid the IE 10-11 `min-height` bug. * 2. Set `flex-shrink` to `0` to prevent some browsers from * letting these items shrin...原创 2020-04-23 17:46:20 · 232 阅读 · 0 评论 -
Holy Grail 圣杯布局详解
IntroductionI’m sorry. Really. I didn’t name it. I don’t mean to overstate its importance or trivialize the other and rather weightier Holy Grails.But the name’s out there, and we all know what it...转载 2020-04-23 17:42:49 · 844 阅读 · 0 评论 -
前端响应式布局原理与方案(详细版)
引言本文转自: 前端响应式布局原理与方案(详细版)响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就够,缺点就是CSS比较重。下面是博客网站对不同设备适配后的结果,分别是iPhone5/SE,iphone6/7/8,iphone 6/7/8 plus,ipad pro,dell台式宽屏(1440 X 900)。...转载 2020-04-22 16:40:16 · 599 阅读 · 0 评论 -
css元素水平垂直居中详解
css元素水平垂直居中导读水平居中垂直居中水平垂直居中参考导读一般常用水平或垂直居中主要使用的属性为margin、position:absolute;、transform、flex、vertical-align、text-align、line-height…页面结构vertical-align: middle;针对行内块元素使用 , 如 input 对齐, img 去掉下边空白,...原创 2020-04-21 23:36:15 · 257 阅读 · 0 评论 -
CSS块级格式化上下文(BFC)与清除浮动详解
BFC1. 什么是BFC2.BFC元素所具有的特性3.如何创建BFC4.BFC的应用场景1. 解决块级元素垂直方向的边距重叠问题2.解决元素浮动后发生重叠的问题(自适应布局)右边自适应布局中间自适应布局3.清除浮动1.`overflow: hidden`清除浮动(计算BFC浮动元素高度)2.`clear:both` 清除浮动3.利用伪元素和BFC清除浮动总结参考1. 什么是BFCBFC...原创 2020-04-21 16:27:30 · 317 阅读 · 0 评论 -
JS前端进阶/面试
this指向我们知道this绑定规则一共有5种情况:1、默认绑定(严格/非严格模式)2、隐式绑定3、显式绑定4、new绑定5、箭头函数绑定其实大部分情况下可以用一句话来概括,this总是指向调用该函数的对象。var num = 1;var myObject = { num: 2, add: function() { this.num = 3; ...转载 2020-04-20 00:55:59 · 426 阅读 · 0 评论 -
JS节流和防抖函数的理解和实现
参考演示网站木易杨7分钟理解JS的节流、防抖及使用场景Js中的防抖与节流/** * Created by thephpjo on 21.04.14. */var helpers = { /** * debouncing, executes the function if there was no new event in $wait milliseconds * ...原创 2020-04-20 00:48:54 · 511 阅读 · 0 评论 -
详细解析赋值、浅拷贝和深拷贝
@TOC一、赋值(Copy)赋值是将某一数值或对象赋给某个变量的过程,分为下面 2 部分基本数据类型:赋值,赋值之后两个变量互不影响引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有影响对基本类型进行赋值操作,两个变量互不影响。let a = "muyiy";let b = a;console.log(b);// muyiya = "change";...转载 2020-04-19 15:22:44 · 387 阅读 · 0 评论 -
ES6 系列之 WeakMap
ES6 系列之 WeakMap前言特性应用1. 在 DOM 对象上保存相关数据2. 数据缓存3. 私有属性深拷贝上的应用ES6 系列前言(我是在看muyiy的深拷贝防止循环引用用到WeakMap就找到这篇文章)我们先从 WeakMap 的特性说起,然后聊聊 WeakMap 的一些应用场景。特性1. WeakMap 只接受对象作为键名const map = new WeakMap();...转载 2020-04-18 22:37:51 · 277 阅读 · 0 评论