Web全栈
文章平均质量分 78
先精后广,一专多长
PrayerFaith-Depart
设计改变未来!
展开
-
React Virtual DOM及Diff算法
在React中, 每个DOM对象都有一个对应的Virtual DOM对象,它是DOM对象的JavaScript对象表现形式,其实就是使用JavaScript对象来描述DOM对象信息,比如DOM对象的类型是什么,她身上有哪些属性,它拥有哪些子元素。可以把Virtual DOM对象理解为DOM对象的副本,但是它不能直接显示在屏幕上。原创 2023-11-14 17:39:05 · 458 阅读 · 0 评论 -
13 Web全栈 pnpm
可以理解成performant npm缩写速度快、节省磁盘空间的软件包管理器特点。原创 2023-08-16 23:12:32 · 1015 阅读 · 0 评论 -
12 Web全栈 组件化设计(3)
编写帮助文档最极简的方式就是直接使用MarkDown语法编写项目的readme.md说明文件,这种方式效率高,开发速度快,不过复杂功能的UI组件无法直接在MD文件中使用所以会导致文档不生动,提高学习门槛。还有其他方式就是通过网页制作的方式直接通过我们的UI组件库创建一个新项目,通过编程的方式编写组件库的开发文档,这种方式可以非常生动的描绘组件库的文档,不过开发过程复杂,没有任何可复用的编码,所以性价比极低。原创 2023-07-07 14:53:04 · 700 阅读 · 0 评论 -
11 Web全栈 组件化设计(2)
npm pack命令可以将node的项目在本地构建成安装包,类似于java项目中构建jar包的过程,在命令行工具中输入npm pack后会生成.tgz文件, 如果需要安装这个npm到全局,只需要npm i <tgz文件地址> -g。nrm是适用nodejs开发的一个可以在shell中运行的命令行工具,他的主要作用就是帮助开发者切换和管理大量的npm镜像地址,保证在合适的时机适用最简单的命令随时切换镜像地址而不需要花费精力去记住大量的命令和信息。解析package.json中的bin配置。原创 2023-07-05 10:05:20 · 120 阅读 · 0 评论 -
10 Web全栈 组件化设计
前端技术体系庞大,层级也非常分明,在架构设计领域中不能一概而论,任何应用种类都有自己独立的架构体系。比如在前端开发领域,在框架基础上进行应用构建的开发者锁思考的问题,与在组件库设计方面的开发者所思考的问题是完全不同的。所以在架构设计方面是由层次划分的,答题可以分为四个层次。即应用在整个系统内的关系,如与后台服务器通信,与第三方集成即应用外部的整体架构,如多个应用之间如何共享组件、如何通信等即应用内部的模块架构,如代码的模块化、数据的状态的管理等。即从基础设施来保障架构实施。原创 2023-07-04 16:25:15 · 352 阅读 · 0 评论 -
09 Web全栈 亘古不变的JavaScript
基于以上,我们要确认一个统一的思想就是,作为业务开发者,重点是在各种框架的运用上,而作为架构师和技术专家,重点反而在基础编程思想和基础编程技术上。只有基本功扎实并且有国人思想的人才能构建出令大部分程序员折服的框架,并且能为现代应用开发在技术产出环节上帮助到更多的开发者,这个就是架构师、技术专家的作用。原创 2023-07-04 15:03:28 · 173 阅读 · 0 评论 -
08 Web全栈 软件架构(思维认知)
不以实现为目的的架构都是耍流氓,所以任何软件架构,软件开发和互联网行业中的目的都是落地和实现。一个无法上线的应用架构,算不上好的软件架构一个没有人能完成开发的软件架构,算不上具有可行性的软件架构一个在现在技术上不可行的架构,算不上合理的软件架构。所以一旦我们谈及软件架构,需要讨论的第一个重点就是因地制宜。比如在一些互联网公司的软件架构,都属于行业的顶级架构设计方案,但是该架构在中小型企业并不适合的架构,结合以上三点。原创 2023-07-03 15:44:44 · 291 阅读 · 0 评论 -
07 Web全栈 ES6规范(Proxy与Reflect)
Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。要使用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。一个通常以函数作为属性的对象,各属性中的函数分别定义了在执行各种操作时代理 p 的行为。(不建议使用)创建一个可撤销的Proxy对象。原创 2023-06-29 09:40:04 · 560 阅读 · 0 评论 -
06 Web全栈 ES6规范(可迭代协议和迭代器协议)
迭代器协议不可能知道一个特定的对象是否实现了迭代器协议,然而创造一个同事满足迭代器协议和可迭代协议的对象是很容易的。这样就允许一个迭代器能被不同希望迭代的语法方式所使用。因此,很少只实现迭代器协议而不实现可迭代协议。for…of / … / Array.from 使用了迭代器协议[] / Set / Map / generator 实现了Iterators。原创 2023-06-28 17:05:54 · 467 阅读 · 0 评论 -
05 Web全栈 面向对象编程/原型链/继承
什么是面向对象编程编程思想面向过程:关注的是动词,分析出解决问题所需要的所有步骤,针对所有步一一实现一些函数,按照顺序来调用函数面向对象:关注的是主谓,把构成这个问题的事务,拆解成一个个对象,这一个个对象是为了描述这个对象在当前问题中的各种行为方式面向对象的特性封装:让使用对象的人不用去考虑内部的实现,对象对外暴露出一些api,提供给使用方使用。继承:为了代码的复用,从父类继承他允许继承的属性和方法多态:不同的对象作用于同一个操作,然后产生不同的结果。多态的思想实际上把“想做什么”和“谁去做”原创 2023-06-28 10:29:10 · 235 阅读 · 0 评论 -
04 Web全栈 闭包/this指针
当函数执行时,会创建一个执行上下文的环境,分为创建和执行两个阶段创建阶段创建阶段,指函数被调用但还未执行任何代码时,此时创建了一个拥有3个属性的对象代码执行阶段代码执行阶段主要的工作是1、分配变量、函数的引用、赋值;2、执行代码函数作用域变量是在定义时栈向外找,不是调用时向外找let 经过babel编译 直接编译成var, 但是会有很多hack技巧高级程序设计中,闭包是指有权访问另一个函数作用域中的变量的函数,可以理解为能够读取其它函数内部变量的函数this场景1:函数直接调用 -> 全局或un原创 2023-06-27 14:54:44 · 154 阅读 · 0 评论 -
03 Web全栈 浏览器内置对象/事件/ajax
浏览器是一个JS的运行时环境,它基于JS解析器的同时,增加了许多环境相关的内容,用一张图表示各个运行环境和JS解析器的关系如下:我们把常见的,能够用JS这门语言控制的内容称为一个JS的运行环境,常见的运行环境又Nodejs,浏览器,小程序,一些物联网设备等等,所有运行环境都必须有一个JS的解释器,在解释器层面符合ECMAScript规范,定义了JS本身语言层面的东西如关键字,语法等等。在每个环境中,也会基于JS开发一些当前环境的特性,例如Nodejs中的global对象,process对象,浏览器原创 2023-06-27 10:36:26 · 542 阅读 · 0 评论 -
02 Web全栈 模块化
在web开发的早期,为了团队协作和代码维护的方案,许多开发者会选择JavaScript代码分开写在不同的文件里面,然后通过多个script标签来加载他们原创 2023-06-26 13:21:13 · 365 阅读 · 0 评论 -
01 Web全栈-Promise
javascript是一门单线程语言,所以早期我们解决异步的场景时,大部分情况都是通过回调函数来进行。例如在浏览器中发送ajax请求,就是常见的一个异步场景,发送请求后一段时间服务器响应之后我们才能拿到结果,如果我们希望在异步结束之后执行某个操作,就只能通过回调函数这样的方式进行操作如果后续还有内容需要在异步函数结束时输出的话,就需要多个异步函数进行嵌套,非常不利于后续的维护。(回调地狱)原创 2023-06-21 13:38:18 · 336 阅读 · 0 评论