暂无个人介绍
setState 的表现会因为场景的不同而不同: • 在 React 的钩子函数及合成事件中,它表现为 异步。 • 在 setTimeout、setInterval 等函数中,包括在 DOM 原生事件中,它都表现为 同步。
React 16+ 太香了,要想从根本上理解 React 16 大改版背后的动机,就需要了解 React 15 的运作机制:栈调和算法(Reconciliation)。
整理了一套自己的 setting.json 和 extension,有需要的可以自取~
构建网站的方法有很多,但是每种构建都离不开渲染,那如何从性能的角度来权衡Web上的渲染呢?
提到对象肯定都不陌生。但是你真的掌握对象么?本篇就来全面性的说下对象的结构,创建和继承关系
今天把做好的项目打包放测试环境上之后,发现页面资源全部加载不出来,好久没看见满满的一丈红了!
在JavaScript中,数据分为 原始值 和 引用值,原始值就是最简单的数据,一般也称为 值类型,引用值就是由多个值构成的对象,一般被叫做 引用类型。保存原始值的变量是按值访问的,所以操作的是存储在变量中的实际值。引用值是保存在内存中的对象,要想改变它,实际上操作的是对该对象的 引用。
之前我们讲了 Promise 的内部结构以及用法,这篇来说下另一个老生常谈的问题:Async/Await 。
你是不是有过以下困难: • 多个方法互相嵌套,但是最终还是蒙对了 • 不是很明白为什么浏览器有时候会卡死 • 事件循环好像知道那么点,但是就是讲不出来为啥 • …… 本篇文章就把你的问题给一一解答,当然这些东西想完弄清楚,肯定离不开进程,线程,浏览器内核,渲染,事件循环,任务队列等,我们就一个一个的来看,它们到底是怎么工作的。
上一篇讲了 Promise 的概念和简单用法之后,这篇来说下 Promise 内部结构和工作方式,看看它里面都藏了什么东西。
要想掌握 Promise,先从概念和使用方法入手,而后刨根它的原理,方可大成。
自从升级了 Big Sur 之后,本以为 Mac变为 iPad 会更轻便更舒服,然而,平常工作状态下,cpu直飙60%左右,转速也基本在2000,用Node打个包,转速能到5000,真的简直了。常用软件虽然也慢慢的都适配了 Big Sur,但是总感觉有点不舒服(iPreview直接向下不兼容了……淦,不知道其他有没有)。于是乎在工作稳定和体验新系统的权衡之下,还是妥妥的降级到了 mojave。还是熟悉的配方,还是熟悉的味道,还是熟悉的百分之十以下的cpu,还是熟悉的一千多转速,哪里都很香。
如果你查资料(W3C规范),你会发现在跨域请求中,分为简单请求(get和部分post,post时content-type属于application/x-www-form-urlencoded,multipart/form-data,text/plain中的一种)和复杂请求。而复杂请求发出之前,就会出现一次options请求。
有关同源策略和跨域,可以参考 跨域的那些事儿
你天天用 vscode, 真的用的舒服么?是时候打造一套适合自己开发风格的配置了! cmd + shift + p 打开 defaultSetting.json 会看到所有的配置项(windows自行打开),当然,里面的配置太多了,所以我列出来了一些常用的和自己喜欢的配置项,以及自己使用的插件,仅作参考,有需要的自取~(个人比较喜欢极简风,所以没有那么多花里胡哨的东西)
本文描述 JavaScript 引擎中通用的一些关键的基础知识——不仅仅是 V8。作为一名 JavaScript 开发人员,对 JavaScript 引擎的工作原理深入了解一下有助于你更好的编写代码。
本文描述 JavaScript 引擎中通用的一些关键的基础知识——不仅仅是 V8。作为一名 JavaScript 开发人员,对 JavaScript 引擎的工作原理深入了解一下有助于你更好的编写代码。
在本篇文章中,我将探索一下Node中的堆内存分配,然后试试看把内存提高到硬件能承受的极限。然后我们将找到一些实用的方法来监控 Node 的进程以调试内存相关问题。 OK,准备完成就发车! 大家可以在仓库拉一下相关代码 clone the code from my GitHub.
不知道你是否经常考虑新项目首先应该适配移动端还是桌面端?最近,我在Twitter发起了一次关于此项的投票,总票数为648票,比例如下: • 移动优先:33.3% • 桌面优先:21.9% • 两者混合:24.7% 在下文中,我们将一起了解每种方法的含义和一些响应式设计技巧,然后再去讨论在今天这些方法是否适用。
我很庆幸我的工作经常涉及移动设备的测试,所以我知道触发虚拟键盘经常会改变布局(即使你不需要)。 大多数人可能只是做个网页应付差事,但是这可能导致成千上万的人因为“娇羞”的结帐按钮而下无法支付。让我们来看看为什么会发生这种情况,然后猜测一下这可能会让 Olive Garden 付出多少代价。
多数编程语言都有一个“空值”的定义,为 null。它表示变量当前不指向对象——例如,当它尚未初始化时。 与其他语言相比,JavaScript包含两个这样的空值:undefined 和 null。在这篇文章中,我们将会探讨他们之间的区别,以及如何去最好的使用或者避免使用他们。
一即是全 ———— 浏览器渲染周期,硬件加速和排版布局 每一台电子设备的显示器每秒按照一定的帧数刷新,浏览器必须尝试匹配刷新率以使用户获得流畅的体验。而要将新的一帧输出到显示器上,浏览器首先要完成“渲染周期”和“像素管道”
在过去的一年里,一系列新的开发工具拔地而起,包括但不限于 webpack、Babel、Rollup、Parcel、create-react-app等,在前端开发配合这方面也很友好。这些新的工具目标和功能上各有千秋,每个工具都有不同的目标和功能,但都有一个共同的目标:提高开发人员的使用体验。
Pomodone:一个小型时间跟踪应用程序,基于以 25 分钟为间隔工作的番茄工作法。它有一个 25 分钟的计时器(在 Web Worker 中运行)并将“poms”的历史记录保存到一个小型 Firebase 数据库中,传送门
博客上的音乐播放器,大多都长一个样,小小的,塞在页面的一个角落里,在别人阅读文章的同时可以听音乐,增加某些体验的满意指数。而我,做了一件不太一样的事情: 博客不就是让人看文章的么?再播放音乐甚至有可能会降低阅读的质量,那听歌就好好听歌不好么?既然要体验,那就沉浸体验到爽不好么?
构建网站的方法有很多,但是每种构建都离不开渲染,那如何从性能的角度来权衡Web上的渲染呢?
Chrome comic,推荐一本Chrome架构简要概述的漫画,Chrome架构于2008年同Chrome浏览器一起发布,原文地址,中文翻译。
人工管理代码容易导致2个问题:容易出错 和 效率低下,于是Linus 选择了一个叫 BitKeeper 的版本控制系统,而 BitKeeper 的东家 BitMover 公司出于人道主义精神,授权 Linux 社区免费使用这个版本控制系统。最后,出于某种原因,BitMover 公司收回了 Linux 社区的免费使用权,于是 Linus 花了两周时间自己用 C 语言写了一个分布式版本控制系统,从此GIt诞生了。
五一过后,忙于复习和安顿,所以近期没有更新,非常抱歉,本文记录面试期间比较频繁的问题,如果这些问题你都没什么大问题,那么我觉得起码评个中级是没问题的! 半个月的时间,大中都有去看,想着之前联系的几个大厂里的大佬,可以帮忙内推一下,但是都卡在了学历这一块,没办法,哎,只能努力试着补一补!最终一共收到6个offer,结果也没想的那么差,于是挑了个还可以的开始新的征途!
当你在编写css代码的时候,是否遇到这样的困扰: 不知道取什么class名? 修改某个组件的样式,担心影响了其他组件? 编写的组件样式如何复用?为了解决这些问题,聪明的程序猿发明了BEM命名法。
嘿,新的ES2020功能已经存在了一段时间,但并不是所有人都知道,所以这里有一些很酷的功能可以尝试一下!
基于猫狗大战奥特曼,再手写一次apply、call和bind~ 温故而知新,再看不会你把我头拧下来! 今天刷题的时候看到一个有关 call 和 apply 的奇葩描述,觉得挺有意思的,于是重新把 call 和 apply 的逻辑手写了一遍,温故而知新~
发布订阅模式和观察者模式是开发中常用的设计模式和思想,利用它们可以做到数据更高级的通信,当然在Vue和React等框架中,也用到了它们,本篇就来说一下它们的实现原理并手写代码。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
上篇派发更新的最后提到了 nextTick,在Vue中,nextTick 也是一个核心实现,本篇来详细说一下 nextTick 的实现原理。 重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。 只有更好的了解函数的内部结构,才可以更好的封装方法。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。 Array 是ECMAScript中最常用的类型之一,和其他编程语言不同的是,ECMAScript里的数组每个槽位可以存储任意类型的数据。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。 Global 和 Math 是ECMAScript的两个单例内置对象,我们可以在开发中直接使用这两个内置对象。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学JavaScript 篇的目的是回顾基础,方便学习框架和源码的时候可以快速定位知识点,查漏补缺,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。
重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道里的前端栈) 和 github 上。