- 博客(19)
- 收藏
- 关注
原创 js手写-flat(),pipe(),shuffle
递归实现,遍历数组每一个元素判断其是否可以展开 每一次递归创建新数组接收展开结果这里判断一个数组元素是否可以展开有很多方法,我用的是判断其原型链。
2024-11-27 17:55:51
435
原创 浏览器漫谈HTML--2.2从表单标签看vue的响应式系统 理论+实战
表单标签的双向绑定是一个很有亮点的功能。在不同框架中他实现这个功能大同小异,这里我们介绍几个常见的框架中他是如何实现双向绑定的。原生的input输入框是没有双向绑定的功能的。取而代之的,它的input上有一个event对象,这个对象中有一个属性target,而这个target的值就是此时输入框内部的数据。所以如果是原生input,我们需要手动将这个input绑定到我们用于接收这个数据的参数上。非常的难看吧。
2024-11-26 15:18:03
1062
原创 浏览器漫谈-HTML--(1)从“头“看[HTML]
这一个专栏我们会从简单的html结构讲起,讲到它的设计思路,以及他是如何在浏览器中发挥作用的。最后,我们会拿出来几个做到比较有意思的html详细剖析一下它的实现原理,使用到了哪些技术。
2024-11-08 15:14:05
1077
原创 浏览器存储策略解析(三)Local/sessionStorage实战:如何查看本地浏览器上数据
我们都知道,localStorage存于本地,sessionStorage存于会话,这是见名知意可以得到的。但是在物理层面他们究竟存储在哪里呢?localStorage和sessionStorage一样,是存储在用户本地计算机的硬盘上。在不同浏览器中,存储的位置不同以chrome为例,所有的localStorage和sessionStorage在这个路径下:C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default打开看看。
2024-11-07 21:02:47
3060
原创 JS手写:从0开始认识【柯里化】&&【支持占位符的柯里化】
柯里化是拆分函数的一种手段,允许我们以偏函数的方式调用这个函数。比如说,原来的函数A必须传入三个参数才能运行。经过柯里化处理之后的函数KA传入三个参数,能成功运行;传入两个参数也能,但是会返回一个需要传入一个参数才能运行的函数KB,在KB中传入剩下的一个参数后,能得到在A中传入三个才能得到的结果。这么讲很抽象吧,我们举一个例子创建一个sum函数现在我可以使用这个函数进行计算了。但是如果说我现在有100个计算式,这100个前面的两个被加数都是1,2,那我有没有必要调用这个函数传100个1,2呢。
2024-11-01 17:24:21
388
原创 js手写:防抖&节流 逐行代码解析
刚开始写节流的时候,没有真正理解其难点,而且网上的防抖和节流函数,不得不说,真的是鱼龙混杂,有些看了简直添乱。之前一直认为节流就是“时间间隔T内,点击一个按钮n次,只执行第1和n次”,完全没有体会到节流的难点其实在于多次相同的调用时传递的不同的!参数!防抖相对节流稍微简单一点,触发函数后只有在时间段n内没有再次被触发函数才会被执行。打个比方这里写的格式是:参数(传入时刻)设置间隔时间为3个单位时间那么防抖后的输出结果就会是:F(10) H(15)
2024-11-01 12:54:05
580
原创 GIT:世界上最先进的分布式版本控制系统(二)分支和仓库
仓库分为本地仓库和远程仓库,分支也分为本地分支和远程分支。简而言之,仓库是存储所有代码的区域,分支是针对一个仓库的不同时间段的切面的处理支路。仓库和分支的关系有点类似于 仓库是一条四维虫子,我们能自由的在其的不同时间点拉下来里面的所有代码,对当时的代码加以处理,而让你处理这些代码并且保留你拉下来这一刻仓库的代码和原本仓库的联系的载体就是分支。分支之间可以进行合并处理,在合并的时候老的分支中代码可能和现在仓库中版本发生冲突,这个时候我们就能在git环境中进行解决冲突。
2024-10-29 18:11:44
867
原创 js算法:简单粗暴的针对【动态规划】解题通式
写在最前面:这个公式只用于基础&中档动态规划题,复杂压轴题肯定要另当别论了。但是讲道理能有一个easy模式的公式帮你解答百分之八十的动态规划题,相信对于初学者来说还是比较快乐的。公式解题的快乐,上过九年制义务教育的懂得都懂。这一篇我们只谈刷题,不谈基础概念。后面可能会出一篇更加基础的动态规划介绍。一句话总结动态规划:总结规律,借助历史记录推算未来数据本章先用小部分篇幅介绍公式,然后直接动归题实战一下。
2024-10-21 16:39:55
2291
原创 浏览器存储策略解析:LocalStorage,SessionStorage,Cookie,Session从理论到实战(二)从cookie到LocalStorage
上节说到,由于用户状态管理需求以及会话,用户追踪需求等,我们由没有状态记录功能,仅仅作为信息展示手段的服务器端存储发展到cookie存储。但是cookie毕竟是互联网早期产物,受时代以及互联网技术水平限制,对于各种需求的考虑只能说是有但不多。
2024-10-18 10:04:58
920
原创 浏览器存储策略解析:LocalStorage,SessionStorage,Cookie,Session从理论到实战(一)cookie
打开我们的检查面板,在应用的存储中能看到这些项目:他们大部分长成数据库的形状,想必都是用来存储数据的吧。但是这么多我们该怎么存,谁存誰呢,这就值得一说了。
2024-10-17 17:46:21
1167
原创 js异步请求:关于异步的一切(五)promise:拔剑者潘德拉贡(下)
上回说到,promise解决callback中保护代码的方式的,以及promise的链式调用原理。基于promise构建的异步模式抽象还有很多变体,帮助我们进一步简化异步流程的控制。在这里我们会讲解es6中支持的另外两种promise格式,以及更多的promise API。
2024-10-15 22:51:13
1109
原创 js异步请求:关于异步的一切(四)promise:拔剑者潘德拉贡(中)
书接上文,我们提到promise的优点:控制反转再反转,无需回调。以及判断promise类型对的方法:鸭子对象。在这里我们进一步剖析promise的优势以及其面临的问题。
2024-09-25 13:49:56
1104
原创 js异步请求:关于异步的一切(三)promise:拔剑者潘德拉贡(上)
对于异步操作,我们将代码分为了‘现在’和’未来‘两部分。这是导致代码逻辑混乱的根本原因之一。而在promise中,我们不再使用回调将代码事件分割,而是将现在和未来都归一化了。说的直白一些,为了统一处理现在和未来,我将代码所有部分都归类为未来,也就是所有操作都是异步的了。
2024-09-24 17:36:56
1866
原创 js异步请求:关于异步的一切(二)回调:打开异步的大门
在第一章,我们认识到了事件的概念以及处理事件最重要两个对象:事件循环机制,并发事件。只在这一章,我们对事件进行进一步分割。在上一张,我们提到js所有事件分为两种:现在的事件和将来的事件。在这里,我们进一步分割:将一个事件分为’现在‘与’将来‘。也就是回调曾经是异步的主力军。但是在技术发展的河流中,他也被冲刷出嶙峋的创口。在遥远的前端平原上,一颗新星正冉冉升起。没错,他就是我们的promise。所谓promise者,承诺也,希望也。回调是如何衰落的?
2024-09-19 23:21:43
2048
原创 js异步请求:关于异步请求的一切(一)异步 现在与将来
前两天被面试官问道知不知道js和promise的发展历史是什么,一下子被问懵了。抓着《你不知道的JS》里面promise包括异步请求这部分看了一天,简单总结了一下。想要获得更好的体验建议看原书了解一门技术,最重要的肯定是了解它的编年史啦。“我是谁,我从哪里来,我要到哪里去",这三个人生之问也是我们学习一门新技术必须了解的。来路不明的东西,怎么能将他放到代码里面呢?
2024-09-19 22:11:19
574
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅