原创 BEM 和 CSS Modules

BEM 和 CSS Modules 簡介 CSS 入門簡單,深入就比較難,樣式簡單維護難。 因爲 CSS 是全局性的,所以很容易就出現樣式衝突的問題。爲解決這個問題。最通常的做法是 CLASS 命名寫長一點或者加一層父級選擇器從

原创 微前端工程之間的通訊

微前端工程之間的通訊 原理 使用發佈訂閱者模式:一方訂閱,一方發佈。 使用單例模式:一個工程內使用同一個實例。 微前端加載,首先加載父工程,隨後根據配置加載對應的一個或者多個子工程。 父工程先一步生成實例,並傳遞給子工程。子工程

原创 你可能不知道的 Promise

你可能不知道的 Promise 參考 簡介 Promise 有三種狀態:pending(進行中)、fulfilled(已成功)和 rejected(已失敗) 只有異步操作的結果,可以決定當前是哪一種狀態,任何其他操作都無法改變這

原创 並查集(Disjoint Set)

並查集(Disjoint Set) 簡介 並查集是一種非常精巧而實用的數據結構,它主要用於處理一些不相交集合的合併問題。一些常見的用途有求連通子圖、求最小生成樹的 Kruskal 算法和求最近公共祖先(Least Common A

原创 動態規劃 (Dynamic programming / DP)

動態規劃 (Dynamic programming / DP) 簡介 動態規劃主要用來解決一些希望找到問題最優解的優化問題。 一種可以用動態規劃解決的情況就是會有反覆出現的子問題,然後這些子問題還會包含更小的子問題。相比於不斷嘗試

原创 React 16.x+版本的生命週期變化

React 16.x+版本的生命週期變化 官方文檔 參考 簡介 componentWillMount : 實例掛載之前 componentWillReceiveProps : props 發生變化時執行,初始化 render 時

原创 重新封裝Antd Input組件,解決中文輸入問題

import React, { useState, useEffect } from 'react' import { Input } from 'antd' function BaseHOC(key) { return f

原创 前端模塊化的發展史

前端模塊化的發展史 1、早期 Javascript 不是一種模塊化編程語言,在 ES6 以前,它是不支持類 class,所以也就沒有模塊 module。因此社區一直在尋找如何實現模塊化效果的最佳可行性方案。 原始寫法:模塊就是實

原创 ES6 Module 多種用法

ES6 Module 多種用法 export 用戶需要知道所要加載的變量名或函數名,否則無法加載 規定模塊的對外接口,推薦使用第三種 export const a = 1 export const b = 1 // 等價於 con

原创 Promise.all 併發限制

Promise.all 併發限制 參考鏈接 簡介 Promise.all 可以保證,promises 數組中所有 promise 對象都達到 resolve 狀態,才執行 then 回調。 這時候考慮一個場景:如果你的 promi

原创 文件下載、上傳和斷點續傳數據處理的公共基本方法

import axios from './axios' export const requestBaseUpload = (url, params, type = 'post', headers = { 'Content-Typ

原创 淺談前端測試

淺談前端測試 淺談 TDD 和 BDD TDD Test Driven Development (測試驅動開發) 一種使用自動化單元測試來推動軟件設計並強制依賴關係解耦的技術。使用這種做法的結果是一套全面的單元測試,可隨時運行,以提

原创 Async、Await 實現原理

Async、Await 實現原理 簡介 async 用於聲明一個函數是異步的 await 用於等待異步完成 await 只能在 async 函數中使用 async 返回一個 promise await 後邊永遠跟的是一個 promi

原创 瀏覽器垃圾回收機制

瀏覽器垃圾回收機制 簡介 由於字符串、對象和數組沒有固定大小,所有當他們的大小已知時,才能對他們進行動態的存儲分配。JavaScript 程序每次創建字符串、數組或對象時,解釋器都必須分配內存來存儲那個實體。只要像這樣動態地分配了內存

原创 TypeScript XXX.d.ts 文件描述

TypeScript XXX.d.ts 文件描述 簡介 TypeScript 的核心在於靜態類型,我們在編寫 TS 的時候會定義很多的類型,但是主流的庫都是 JavaScript 編寫的,並不支持類型系統。TypeScript 身爲