上传文件进度

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,如果我们给赋值一个函数,相当于绑定了一个方法)

JavaScript 双向链表_048

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

JavaScript 链表_047

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

JavaScript 继承_045

2019-11-19
阅读 4 分钟
1.5k
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...