随笔分类 - 前端基础知识
前端的基础知识
摘要:JS继承的实现方式一共有八种。下面我们来一个一个瞅一下。注意⚠️:文章依据个人理解,难免有问题,还望各位及时指出!!!!! 原型链继承 借用构造函数继承 组合继承 原型式继承 寄生继承 寄生组合式继承 原型拷贝和构造函数实现继承 Class继承 混入方式继承多个对象 我们先创建一个父类 // 父类
阅读全文
摘要:定义 栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出。栈在汇编语言程序中,经常用于重要数据的现场保护。栈中没有数据时,称为空栈。 模拟实现 clas
阅读全文
摘要:定义 数据结构是计算机存储和组织数据的方式。是存在一种或者多种特定关系的数据的集合。 即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。 逻辑结构 指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位
阅读全文
摘要:宏任务(macro-task) 定义 消息队列中的任务称为宏任务。 产生 宿主环境提供的方法是宏任务,例如setTimeout, setInterval。这些都是浏览器或者Node环境实现的。 执行 不断从消息队列中取出并被事件循环执行。 类型 注意⚠️: ✅代表是宏任务 浏览器 Node I/O
阅读全文
摘要:定义 定时器,用来指定某个函数在多少毫秒之后执行。它会返回一个整数,表示定时器的编号,同时你还可以通过该编号来取消这个定时器。 实现 定时器的实现 当通过 JavaScript 调用 setTimeout 设置回调函数的时候,渲染进程将会创建一个回调任务,包含了回调函数 showName、当前发起时
阅读全文
摘要:产生原因 为什么会有消息队列和事件循环呢?首先最关键的一点在于JS是个单线程,并且主线程非常繁忙,既要处理 DOM,又要计算样式,还要处理布局,同时还需要处理 JavaScript 任务以及各种输入事件。要让这么多不同类型的任务在主线程中有条不紊地执行,这就需要一个系统来统筹调度这些任务,这个统筹调
阅读全文
摘要:定义 MDN:函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)。 JS高程: 闭包是指有权访问另一个函数作用域中的变量的函数。 Javascript权威指南:函数对象可以通过作用域关联起来,函数体内的变量都可以保存在函数作用域内,这在计
阅读全文
摘要:首先来看一段代码 console.log(a) var a = 2; 输出结果是undefined,正常来说JS如果是逐行向下执行,那么应该输出未定义,为何此处输出undefined呢? 原因在于JS在执行前都会进行编译(通常就在执行前),在编译过程中包括变量和函数在内的所有声明都会被处理。 定义
阅读全文
摘要:原因 在对象内部的方法中使用对象内部的属性是一个非常普遍的需求。但是 JavaScript 的作用域机制并不支持这一点,基于这个需求,JavaScript 又搞出来另外一套 this 机制。 类别 由于this和执行上下文是绑定的,执行上下文有三种,那this也对应的有三种。 全局this 全局执行
阅读全文
摘要:作用域 定义 作用域是指在程序中定义变量的区域,该位置决定了变量的生命周期。通俗地理解,作用域就是变量与函数的可访问范围,即作用域控制着变量和函数的可见性和生命周期。 ⚠️:作用域是由代码中函数声明的位置来决定的,跟在哪里调用无关 用途 作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。
阅读全文
摘要:定义 执行上下文时是代码执行时的环境,JS代码在运行前进行编译,那么会生成两部分,一部分是可执行的代码,而另一部分则是执行上下文。 作用 用于跟踪代码运行的运行情况。执行步骤如下: 一段代码块对应一个执行上下文,被封装成函数的代码被视作一段代码块,或者“全局作用域”也被视作一段代码块。 当程序运行,
阅读全文
摘要:1.常用的http状态码有哪些⛵️ https://www.yuque.com/suihangadam/liulanqi/mihyae 2.HTTP请求有哪些?🙏 https://www.yuque.com/suihangadam/liulanqi/vtforh 3.简单请求和非简单请求有什么区别
阅读全文
摘要:请求方式 当前HTTP一共有八种方式。有三种是有HTTP1.0提供,剩余五种则是有HTTP1.1提供 常见问题 啥是OPTIONS?有啥作用 是浏览器对复杂跨域请求的一种处理方式,在真正发送请求之前,会先进行一次预请求,就是我们刚刚说到的参数为OPTIONS的第一次请求,他的作用是用于试探服务端是否
阅读全文
摘要:职责 状态码是在http1.0版本加入的,目的是为了在客户端向服务端发送请求的时,描述返回的请求结果,借助状态码浏览器可以知道服务器是否正常处理了请求,还是出现了错误. TODO:GETPOST请求的方法 组成 由三位数字及原因短语组成。如 200 OK。数字中的第一位指定了响应类别,后两位无分类。
阅读全文
摘要:作为JS系列的第一篇,内容当然是浏览器如何执行一段JS啦。 首先通过浏览器篇我们可以得知,JS是在渲染进程里的JS引擎线程执行的。在此之后还要了解几个概念,编译器(Compiler)、解释器(Interpreter)、抽象语法树(AST)、字节码(Bytecode)、即时编译(JIT) 编译器和解释
阅读全文
摘要:首先我们来看一下浏览器的各个进程以及其中对我们前端来说最重要的渲染进程。为什么说渲染进程对我们前端来说最重要呢,因为页面的渲染,JS的执行,事件的循环都是在渲染进程内进行。请参考下图(⚠️下图仅仅为一般状态下的进程示意图,由于Chrome当前面向服务的架构,当Chrome在功能强大的硬件上运行时,它
阅读全文
摘要:HTTP 是浏览器中最重要且使用最多的协议,是浏览器和服务器之间的通信语言。随着浏览器的发展,HTTP 为了能适应新的形式也在持续进化。已经历经0.9,1.0,1.1,2.0等几个阶段, 以及未来的3.0。 开头先讲个小故事,看完你可能满脸黑人问号,但是别着急,等你把文章全读完再回头品一品这个小故事
阅读全文
摘要:前端有个很经典的问题是说下重排和重绘的区别,一般我们会说重排性能低,而重绘性能高。但其实我们可以深入探究一下其中但原因。 重排(回流) 定义 当通过JS或者 CSS 修改元素的几何属性,例如改变元素的宽度、高度等,那么浏览器会触发重新布局,解析之后的一系列子阶段,这个过程就叫重排。无疑,重排需要更新
阅读全文
摘要:从按下url到渲染页面流程图 处理输入信息 检查用户输入 当用户在地址栏中输入一个查询关键字时,地址栏会判断输入的关键字是搜索内容,还是请求的 URL。如果是搜索内容,地址栏会使用浏览器默认的搜索引擎,来合成新的带搜索关键字的 URL。如果判断输入内容符合 URL 规则,比如输入的是 time.ge
阅读全文
摘要:TCP和UDP区别 TCP面向连接(TCP三次握手),UDP是无连接的,即发送数据之前不需要建立连接。 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。 TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的。 TCP有序,UDP无序;
阅读全文

浙公网安备 33010602011771号