![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2nd year
Daniel_Yang_1125
这个作者很懒,什么都没留下…
展开
-
源码学习 -- classnames
classnames 是公司项目中使用较频繁的一个库,因为能方便动态切换 class 名称。放下对比大家感受下~ <div className={hideContent ? 'content hide' : 'content'} /> <!-- 使用 classnames --> <div className={classnames('content', { hide: hideContent })} />又比如自己封装的业务组件,调用方经常需要传入自定义 c原创 2020-12-10 22:47:00 · 378 阅读 · 1 评论 -
花样匹配 -- 选择符
对于 CSS 来说,选择符是最基本的特性,不过若能熟练掌握,会带来匹配效率和页面结构上的提升!我们将根据六个不同的维度来介绍 CSS 的选择符群组选择符 div, p, span { color: orange; border: 1px solid blue; }类选择符 & ID 选择符class 和 id 应该是最常用的元素属性了吧哈哈哈 #my_id, .my-class { color: red; }属性选择符1、基于属性值匹配 /* 匹配具有 hr.原创 2020-09-14 21:18:34 · 120 阅读 · 0 评论 -
关于 Redux,你想知道的
什么是 Redux在现代前端项目中,有两大方面最令开发者头疼:数据变化 与 异步流Redux 通过明确的指令让数据变化可预测如何使用Basic Usage import { createStore } from 'redux' function reducer(prevState = { count = 0 }, action) { switch (action.type) { case 'INCREASE': return prevState + 1 case.原创 2020-07-14 22:02:09 · 112 阅读 · 0 评论 -
JavaScript 之 面向对象
何为对象对象包含着属性关于属性数据属性 const obj = {} Object.defineProperty(obj, 'name', { configurable: true, enumerable: true, write: true, value: 'Daniel' })访问器属性 const obj = {} Object.defineProperty(obj, 'age', { configurable: true, enumerable: tr原创 2020-07-12 14:31:33 · 78 阅读 · 0 评论 -
啥是 React Context
React 为什么需要 Context跨层级传递数据 可能会疯创建 ContextReact.createContext(defaultValue)为嘛要传 defaultValueContext 数据流机制生产者·消费者 模式生产者 / 消费者 模式简介:一方生产数据,一方获取数据生产者<Context.Provider value>消费者消费者的方式就有多种了哦哈哈Context.Consumer <Context.Consumer>原创 2020-07-12 13:00:16 · 131 阅读 · 0 评论 -
浅谈 浏览器 页面渲染
灵魂拷问:浏览器是如何使用我们编写的 HTML、CSS 和 JavaScript 在屏幕上渲染像素的呢?其实,大致的过程是先构建 DOM 和 CSSOM 树;因此,我们需要确保尽快 ( 为页面优化留了口子 ) 将 HTML 和 CSS 都提供给浏览器。→DOM由 HTML 文件构建 DOM 树的过程大致为:字节 → 字符 → 令牌 ( token ) → 节点 → DOM从一个具体的例子细细说来,假设 HTML 代码为: <!DOCTYPE html> <html.原创 2020-06-21 16:47:05 · 250 阅读 · 0 评论 -
JS 异步新标准 -- Promise
JavaScript 的异步事件背景:事件处理回调事件优缺点Promise定义:Promise 是异步操作结果的占位符,表示 承诺将在未来某个时刻 完成3 种状态pendingfulfilledrejected一旦异步操作结束,Promise 即变为 settle 状态创建未完成的 Promise: let promise = new Promise(function (resolve, reject) { resolve() reject() })原创 2020-06-18 01:21:12 · 112 阅读 · 0 评论 -
DOM 简单小结
DOMNode 类型文档 —> 节点,Node 类型Node 接口,由 DOM 中所有节点类型实现;因为共享相同属性和方法;属性:nodeTypenodeNamenodeValue节点关系:childNodes —> NodeList 对象类数组有序动态查询(访问那一刻)parentNodepreviousSiblingnextSiblingownerDocument —> 整个文档的文档节点操作节点appendChildi原创 2020-06-13 02:11:19 · 138 阅读 · 0 评论 -
浅谈 JavaScript 作用域 & 闭包
作用域什么是作用域一套用于存储和查找变量的规则例如 const a = 2;,首先编译器会询问 当前作用域 是否有名称为 a 的变量,若没有则声明一个;接着编译器会为引擎生成运行时需要的代码,用来处理 a = 2 的赋值操作;引擎运行时会先询问当前作用域是否有名称为 a 的变量,若没有会继续询问外层作用域直至顶端的全局作用域。在这个过程中,会先在当前作用域存储变量,然后利用作用域链查找变量。分类词法作用域定义在词法阶段的作用域,由变量和块作用域写在哪里决定,词法分析器处理代码时会保原创 2020-06-07 16:19:15 · 146 阅读 · 0 评论