上传文件进度

2020-03-07
阅读 1 分钟
1.8k
上传文件进度 如何获取到文件的上传进度 Javascript 的 XMLHttpRequest 提供了一个 progress 事件,这个事件会返回文件已上传的大小和总大小; 这个事件会在浏览器接收新数据期间周期性地触发。而onprogess事件处理程序会接收到一个 event对象,target属性是 XHR对象 {代码...} XHR {代码...}

DOM 元素大小

2020-03-03
阅读 3 分钟
1.7k
getComputedStyle 是一个可以获取当前元素所有最终使用的 CSS 属性值。返回的是一个 CSS 样式声明对象([object CSSStyleDeclaration]),只读.

JS-创建对象的模式

2020-03-03
阅读 2 分钟
1.5k
JS-创建对象的模式 1.工厂模式 抽象了创建具体对象的过程,创建了一种函数,封装特定的接口创建对象的细节。 新建一个对象 定义属性和方法 return刚新建的对象 {代码...} 存在问题: 没有解决对象识别的问题(怎么识别对象的类型) 2.构造函数模式 不显式创建对象 直接将属性和方法定义在this中 没有return 通过 new操作...

手写 flat

2020-02-27
阅读 1 分钟
3k
手写 flat flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回 {代码...} 展开一层 {代码...} {代码...} Use Generator function {代码...} [链接]

手写 reduce

2020-02-27
阅读 1 分钟
2.2k
手写 reduce reduce() 方法对数组中的每个元素执行一个由您提供的 reducer 函数(升序执行),将其结果汇总为单个返回值 reducer 函数接收 4 个参数: Accumulator (acc) (累计器) Current Value (cur) (当前值) Current Index (idx) (当前索引) Source Array (src) (源数组) 您的 reducer 函数的返回值分配给累计器,该返...

手写 some

2020-02-27
阅读 1 分钟
2k
手写 some some()方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。 callback用来测试每个元素的函数,接受三个参数: element数组中当前正在处理的元素。 index 可选正在处理的元素在数组中的索引。 array 可选调用了 filter 的数组本身。 thisArg 可选执行 callback 时...

手写 filter

2020-02-27
阅读 1 分钟
3.3k
callback用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数: element数组中当前正在处理的元素。

手写 forEach

2020-02-27
阅读 2 分钟
3.1k
手写 forEach forEach()方法对数组的每个元素执行一次提供的函数 {代码...} callback currentValue数组中正在处理的当前元素。 index 可选数组中正在处理的当前元素的索引。 array 可选forEach() 方法正在操作的数组。 thisArg 可选可选参数。当执行回调函数 callback 时,用作 this 的值。 没有返回值 如果提供了一个 t...

DOM 事件机制

2020-02-27
阅读 5 分钟
2.1k
给当前元素对象的某一个私有属性(onxxx 这样的私有属性)赋值的过程(之前属性默认值是 null,如果我们给赋值一个函数,相当于绑定了一个方法)

React 错误边界

2020-02-27
阅读 2 分钟
2k
部分 UI 中的 JavaScript 错误不应该破坏整个应用程序。 为了解决 React 用户的这个问题,React 16 引入了一个 错误边界(Error Boundaries) 的新概念

JavaScript 双向链表_048

2019-12-02
阅读 2 分钟
2k
一个 双向链表(doubly linked list) 是由一组称为节点的顺序链接记录组成的链接数据结构。每个节点包含两个字段,称为链接,它们是对节点序列中上一个节点和下一个节点的引用

JavaScript 链表_047

2019-12-02
阅读 1 分钟
1.3k
一个 链表 是数据元素的线性集合, 元素的线性顺序不是由它们在内存中的物理位置给出的。 相反, 每个元素指向下一个元素。它是由一组节点组成的数据结构,这些节点一起,表示序列。

CSS - position 定位_046

2019-11-21
阅读 1 分钟
1.5k
[链接]

JavaScript 继承_045

2019-11-19
阅读 4 分钟
1.6k
JavaScript 继承 原型链继承 {代码...} 构造函数继承 {代码...} 组合继承 {代码...} 原型式继承 {代码...} 寄生继承 {代码...} 寄生组合继承 {代码...} ES2015 class extends 继承 {代码...}

React 源码阅读-13_044

2019-11-11
阅读 7 分钟
1.7k
React 源码阅读-13 React Element Function Object.getOwnPropertyDescriptor() 方法返回指定对象上一个自有属性对应的属性描述符 Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。 hasValidRef 判断是否有有效的ref {代码...} hasValidKey 判断是否有有...

React 源码阅读-12_043

2019-11-10
阅读 12 分钟
1.5k
React 源码阅读-12 ReactChildren {代码...}

React 源码阅读-11_042

2019-10-27
阅读 1 分钟
1.3k
React 源码阅读-11 createRef {代码...} createRef源码比较简短,就是返回一个带有current属性的的refObject对象. 这也是使用createRef的时候需要使用const node = this.myRef.current; Object.seal() Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要可写就可以改变。 ...

React 源码阅读-10_041

2019-10-24
阅读 5 分钟
1.4k
React 源码阅读-10 ReactBaseClasses 这个文件是export出了Component, PureComponent {代码...} 源码+注释 {代码...} [链接][链接]

React 源码阅读-9_040

2019-10-20
阅读 2 分钟
1.9k
之前写的就是相当于的一个学习的笔记,虽然工作中的技术都是 react 相关,但是80%都是一些平常很少涉及到的,导致自己对 react的认识相对比较片面.一些 react的api很少用到,通过 react阅读,系统地熟悉了一下 react所有的 api以及一些相关特性使用场景.继续根据官方的文档和 react.js阅读源码.

React 源码阅读-8_039

2019-10-16
阅读 5 分钟
1.4k
React 源码阅读-8 ReactHooks Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。 {代码...} useState useState 会返回一对值:当前状态和一个让你更新它的函数,你可以在事件处理函数中或其他一些地方调用这个函数 它类似 class组件的 this.setState,但是它不会把...

React 源码阅读-7_038

2019-10-13
阅读 2 分钟
1.2k
如果你的函数组件在给定相同 props 的情况下渲染相同的结果,那么你可以通过将其包装在 React.memo 中调用,以此通过记忆组件渲染结果的方式来提高组件的性能表现。这意味着在这种情况下,React 将跳过渲染组件的操作并直接复用最近一次渲染的结果。

React 源码阅读-6_037

2019-10-13
阅读 3 分钟
1.2k
React.lazy 接受一个函数,这个函数需要动态调用 import()。它必须返回一个 Promise,该 Promise 需要 resolve 一个 defalut export 的 React 组件。

React 源码阅读-5_036

2019-10-13
阅读 2 分钟
1.3k
React 源码阅读-5 源码 {代码...} React.forwardRef 接受一个渲染函数,该函数接收 props 和 ref 参数并返回一个 React 节点 为了在高阶组件中转发 refs forwardRef例子 {代码...} 1.我们通过调用 React.createRef 创建了一个 React ref 并将其赋值给 ref 变量。 2.我们通过指定 ref 为 JSX 属性,将其向下传递给<Fan...

JavaScript 异步编程_035

2019-10-13
阅读 3 分钟
869
在浏览器的一个页面中,该页面的JS程序只有一个线程,故曰单线程。因为是单线程,所以程序的执行顺序就是从上到下依次执行,同一时间内只能有一段代码被执行。

React-SVG圆环_034

2019-10-11
阅读 3 分钟
1.8k
React 圆环 SemiCircle 代码 {代码...}

React 源码阅读-4_033

2019-10-10
阅读 5 分钟
1.7k
React 源码阅读-4 上下文 Context 上下文Context 提供了一种通过组件树传递数据的方法,无需在每个级别手动传递 props 属性。 何时使用 Context Context 旨在共享一个组件树内可被视为 “全局” 的数据,例如当前经过身份验证的用户,主题或首选语言等; {代码...} 例子: {代码...} 使用 context, 我们可以避免通过中间元素...

React 源码阅读-3_032

2019-10-10
阅读 4 分钟
1.1k
React.PureComponent 与 React.Component 很相似。两者的区别在于 React.Component 并未实现 shouldComponentUpdate(),而 React.PureComponent 中以浅层对比prop 和 state 的方式来实现了该函数。

React 源码阅读-2_031

2019-10-10
阅读 5 分钟
1.3k
在典型的React数据流中,props是父组件与其子组件交互的唯一方式。要修改子项,请使用new props 重新呈现它。但是,在某些情况下,需要在典型数据流之外强制修改子项。要修改的子项可以是React组件的实例,也可以是DOM元素。对于这两种情况,React都提供了api。

代码规范_030

2019-09-29
阅读 1 分钟
1.3k
代码规范 git commit规范 每次提交 git commit的时候总是有点难受,不知道怎么写? 还有不同人写的风格完全不一样, 1.安装Commitizen npm install -g commitizen [链接] 2.项目运行命令行 commitizen init cz-conventional-changelog --save --save-exact 凡是用到git commit命令,一律改为使用git cz 这时,就会出现选项...

LeetCode-01-两数之和_029

2019-09-27
阅读 3 分钟
1k
LeetCode-01-两数之和 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 ::: tip给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]::: 解法 利用 Map 记录数组元素值和对应的下标,对...