自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Promise从入门到手写

文章目录写作背景Promise介绍Promise起源与用途常见的异步编程场景为什么使用PromisePromise特点Promise的特性Promise的缺点Promise使用Promise实例创建Promise.prototype.thenPromise.prototype.catchPromise.resolvePromise.rejectPromise.allPromise.race常见问题如何改变Promise对象的状态promise.then() 的返回结果promise为什么可以链式调用prom

2021-03-15 11:51:02 473

原创 【精简版】浏览器渲染机制(完整流程概述)

背景资料:https://docs.google.com/presentation/d/1boPxbgNrTU0ddsc144rcXayGA_WF53k96imRH8Mp34Y/edit#slide=id.ga884fe665f_64_6我们作为工程师,一名开发者,我认为时刻保持好奇心是一件很重要的事情,前端工程师们,不知你们是否好奇过 我们写出的代码究竟是如何变成屏幕上五彩斑斓的像素点的?本文就是来解决上面的这个问题的。本文目的但是,浏览器的渲染机制其实是一个很大的研究课题,过去的一个

2021-01-23 16:12:18 1244 4

原创 「 30天整理 |2W字长篇」用一篇文章明确前端学习路线并构筑知识体系

知识体系写作背景回顾我的前端学习之路随便玩玩摸爬滚打自主学习我的学习经验总结你处于哪个阶段呢迷茫期广度扩展深度沉淀写在本章结尾献给新人们的学习路线IDE篇sublimewebstormhbuildervscode总结前端三大件HTML - 构建webCSS - 设计webJS - web的逻辑js三大组成部分js进阶js超集 - typescripte现代流行框架vuereact&angular(暂时略过)框架对比通用能力Git正则Linux浏览器调试垃圾回收浏览器渲染原理v8webworker网络

2021-09-14 10:05:16 1382

原创 新的一年,从LeetCode开始吧~【罗马数字与整数的相互转换】

作者: hancao介绍:本命年的前端工程师微信:hancao97背景春节我从小年就开始请假,完完整整的休息了两周(如果这个文章有人看,请把羡慕两个字打在评论里 ,哈哈哈哈),那两周我本意是我要好好学习天天向上,努力锻炼强健体魄。然而后来发现这些都是扯淡!!!过年在家学习?不存在的,每天就是陪陪父母家人,和家里的小孩子玩。说来也奇怪,原来大学的时候,我不太喜欢小孩子,但是去年工作了,今年回家我就觉得小孩子好可爱,哇,眼睛那么清澈干净,小手小脚那么可爱,真的是让我这个老男人心都融化了,...

2021-02-21 15:33:38 281 1

原创 我,24岁,展望一下

作者:hancaops: 新人,如果大家阅读我的文章发现错误希望大家多多指正哈想矫情一下今年,我二十四岁了,将迎来我人生的第二个本命年(我预计自己大概还能过十几二十个本名年哈~),感觉最近自己发生了很多事情,生活状态也发生了很多变化,于是我就趁着本命年即将到来和2021年第一个月即将结束之际在此矫情一下。我真的希望可以找到志同道合或者的人,感兴趣的可以加微信哈(微信留在评论里),多交朋友不迷路呀。23岁,随便总结一下【写的真的很随便】过去的2020年其实发生了很多事情,人生迈入..

2021-01-31 19:49:59 407 9

原创 TypeError: Cannot read property ‘parseComponent‘ of undefined 解决方法

背景最近拉老项目下来继续开发,结果yarn serve之后报这个错当时找了很多办法,最后得以解决。在此记录,并希望帮助到遇到此问题的人。解决方式yarn add [email protected]现在vue-template-compiler的最新版本是2.6.12。我最初一直尝试去安装最新版本的vue-template-compiler,但是没有效果,后来发现安装[email protected]就没有问题了。...

2021-01-23 10:57:32 2849

原创 【LeetCode】从两数之和到四数之和(js)

背景从零开始的leetcode之路,刚刚开始就遇到了之前常常遇到的问题,两数之和,我也去回顾了我在一年之前写的代码。结果是毫无疑问的暴力破解。var twoSum = function(nums, target) { var arr=[]; for(var i=0;i<nums.length-1;i++){ for(var j=i+1;j<nums.length;j++){ if(nums[i]+nums[j]==target

2021-01-12 17:48:02 166

原创 浏览器的渲染机制(二)

浏览器的渲染机制(二)首先,回顾一下,上一篇文章的内容,我们首先介绍了content概念,知道了我们最终要的结果是显示在屏幕上的像素,了解了浏览器渲染的目标【html/css/js 转换到 正确的opengl调用来调整像素的样式】,了解了Style,了解了Layout,了解了Panit,现在所有的绘制操作已经记录在显示项列表(display items)中了,那么现在就可以开始本篇文章的阅读。raster光栅化显示项列表中的绘制操作由一个称为光栅化的进程执行。光栅化可以将显示项列表转换成颜色值的

2021-01-11 14:10:43 1254

原创 【LeetCode】盛最多水的容器(JS实现)

a's

2021-01-09 19:47:20 299

原创 【LeetCode】Z 字形变换(JS实现)

问题今天开始在leetcode刷算法题,遇到这样一道题,题目看上去就有点好玩,就进去试了一下:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "PAYPALISHIRING"行数为 3 时,排列如下:P A H NA P L S I I GY I R输出结果就是"PAHNAPLSIIGYIR“思路最开始,对这样的题目有一丝丝摸不到头脑,于是希望可以从这个z字形排列出的结果中找到一些规律。..

2021-01-09 12:39:52 364

原创 vue scoped踩坑

vue scoped踩坑记录坑【样式修改失败】前几天开发需求,遇到一个坑,我无论怎么修改样式都无法完成 对公司内部的一个基础组件样式进行修改。经过排查,因为我在style标签上加入了scoped属性,于是我需要对scoped这个属性进行研究。scoped作用让.vue中的样式不影响其他.vue组件中的样式。在vue组件中,为了使样式私有化(模块化),不对全局造成污染,在style标签上添加scoped属性,以表示它只属于当下的模块。如图所示,我添加了scoped属性,dom和 .

2021-01-05 14:34:30 227

原创 浏览器的渲染机制(一)

浏览器的渲染机制(一)作为一名前端工程师,我们必须时刻保持高度的好奇心与求知欲,提出问题并去探索其原因或机制。于是,我抛出一个问题,浏览器是如何将“没有趣味”的代码变成“五彩缤纷”的网页的?如下图,我将介绍,这个 rendering 的过程。CONTENT首先,我们要明确一个概念,我们我指的网页内容是什么,content负责的是哪个区域,从架构角度出发,Chromium c++代码库中的 “content”的命名空间所负责的是图片中红框里面的所有内容。即,标签栏,地址栏,导航...

2021-01-02 16:59:17 859 1

原创 《深入浅出Vue.js》读书笔记2-Proxy的自我尝试

《深入浅出Vue.js》读书笔记2-Proxy的自我尝试1.问题2.proxy3.用proxy尝试重新实现上面代码书接上文,Object的变化侦测.1.问题vue2.x用Object.defineProperty来劫持data数据的getter和setter操作。用这种方式实现了数据的变化侦测响应的功能,不过,Object.defineProperty存在一些天然的缺陷,包括: 1.Object.defineProperty的getter和setter只能侦测一个数据是否被修改,无法跟踪属性

2020-10-28 19:39:19 183

原创 《深入浅出Vue.js》读书笔记1-Object的变化侦测

深入浅出Vue.js读书笔记1Object变化侦测1.什么是变化侦测2.如何追踪变化3.如何收集依赖4.依赖收集在哪5.依赖是谁6.什么是watcher7.递归侦测所有key8.Object的问题9.总结Object变化侦测1.什么是变化侦测vue.js会自动通过状态生成DOM,并将其输出在页面上显示出来,这个过程叫做渲染。在运行时,应用内部的状态会不断发生变化,此时需要不停的重新渲染,如何确定状态中发生了什么变化? 变化侦测就是来解决这个问题的。vue的变化侦测:状态发生变化时,vue.js立刻

2020-10-28 19:26:25 171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除