愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

搜索分类Javascript下的文章

关于前端枚举的一点思考

一、枚举的业务场景与遇到的问题 我们在日常业务开发中,经常遇到枚举,如商品状态、页面状态、审核状态等,翻阅以往的一些业务代码,会发现很多地方都是这么写的: <span v-if="status == 0">审核中</span> <span v-else-if="...

可能是比Mixin更好的方案:React新特性Hooks探索

一、什么是Hooks? Hooks是React新引入的一个特性,它允许我们能够不采用类式声明组件方式来使用状态和React其他特性(如生命周期、Ref、Context等),简单的例子如下: import { useState } from 'react' function Example() { const [count, se...

深入解析Vue依赖收集原理

一、先谈观察者模式 观察者模式是一种实现一对多关系解耦的行为设计模式。它主要涉及两个角色:观察目标、观察者。如图: 它的特点:观察者

React学习笔记(五):高阶知识(下)

一、错误边界(Error Boundaries) 错误边界是用来捕获子组件树内的Javascript异常,记录错误并展示一个回退的UI的React新特性。当在渲染期间发生错误的时候,就可以避免整棵组件数发生异常 不过,错误边界无法捕捉以下错误: 事件处理 异步代码(setTimeout或者reques...

Redux学习笔记(二): 异步处理

一、异步action 简单的应用如todo应用,涉及的数据操作都是同步操作。但是一般应用开发中都不可避免异步操作,那么如何用redux处理异步数据流呢? 1、Action 调用异步API时,通常要考虑三个时刻: 发起请求时 请求成功 请求失败 所以一般API调用过程中涉及三...

Redux学习笔记(一):入门

由于React只是DOM的一个抽象层,不是一个完整的Web应用的解决方案。为了开发大型的Web应用,我们还需要有一个好的架构来实现代码结构、组件间的通信。Redux应运而生 一、什么是Redux Redux是一个JavaScript状态容器,提供可预测化的状态管理。Redux除了可以和React一起使用外,还支持其他的界面库。...

ReactRouter4学习笔记(二):API

一、ReactRouter的三种路由 1、BrowserRouter <BrowserRouter>使用HTML5的history API(pushState、replacestate和popstate事件)来同步URL和UI,用法:

ReactRouter4学习笔记(一):入门

一、React-router4的理念 react-router4的核心设计理念是“动态路由” 1、静态路由 在Rails、Express、Ember、Angular等库,以及ReactRouter在4.0之前的版本中,使用的都是静态路由。使用静态路由,在应用渲染前的初始化阶段,就需要配置好路由信息。

vue-loader使用总结

vue-loader是用来加载.vue文件的,下面来总结一下vue单文件组件以及vue-loader的用法 一、Vue组件细则 .vue是一个自定义的文件类型,它采用类html语法来描述一个Vue组件。每个.vue组件包含有三种顶级的语言块:

详解mouseenter和mouseover区别

mouseenter和mouseover是两个常用的鼠标事件。所以很有必要区分清楚两个事件的区别 一、表象 大多数材料对于mouseenter和mouseover的区别解释为: 1)mouseover...

Vuex学习总结

一、什么是vuex 在一个复杂的大型系统中,状态会在多个组件之间跨层级地、错综复杂地传递,这会使得状态难以追踪,debug起来也会很麻烦。而vuex就是为了解决这么一个问题而出现的东西,它能够集中地管理应用的状态,并且能够使得每一种状态都是以可预测的方式发生变化的。 二、单向数据流 可以...

理解JavaScript中的作用域链

在JavaScript中,作用域链是很重要的一块知识点,理解好作用域链,是提升JavaScript编程水平必不可少的 一、作用域链 在JavaScript的执行后台中,每个执行环境都会对应有一个变量对象VO和一个作用域链。这个作用域链实际上是一个链表,里面保存着对每个执行环境中的变量对象VO的引用。理解作用域链的核心知识点:

JavaScript设计模式——中介者模式

中介者模式的核心在于接触多个对象之间错综复杂的关系,使得每个对象只需要和中介者进行通信,而对象与其他对象之间的联系则交由中介者传达。 一、场景 现在有场景,某购物网站的商品详情页中的添加到购物车模块,需要包含有如下的逻辑 1)选择商品规格,然后填写购买数量 2)如果购买数量大于可售数量,则加...