原创 談談 Promise 以及實現 Fetch 的思路

Promise 是異步編程的一種解決方案。 Promise /** * 屬性 */ Promise.length Promise.prototype /** * 方法 */ Promise.all(iterable) //

原创 Mac包管理工具brew的安裝、使用及換源

The Missing Package Manager for macOS (or Linux). 官網 安裝 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/H

原创 Mac下Nginx安裝教程

反向代理服務器。 準備 需要使用包管理器 brew,可查看brew安裝教程 Mac包管理工具brew的安裝、使用及換源 安裝 # 安裝 $ brew install nginx ... # 查看brew list 是否存在 nginx $

原创 Mac使用tree查看目錄結構

準備 需要使用包管理器 brew,可查看安裝教程 Mac包管理工具brew的安裝、使用及換源 安裝 $ brew install tree 使用 # 查看版本號 tree --version # 查看當前目錄結構 tree # 使用

原创 VScode debug React config

1. 安裝 VScode 插件 Debugger for Chrome 2. 配置 webpack webpack.config.js 添加 source map + devtool: 'eval-cheap-module-source-

原创 從 React 架構開始講解 useState、useEffect 編程設計

隨着前端開發複雜度增加,原生開發模式顯得越來越笨重,前端框架也層出不窮。 MVC 和 MVVM MVC MVC是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離

原创 事件捕獲、事件冒泡、事件委託

事件捕獲、事件冒泡 addEventListener:向指定元素添加事件句柄。(第三個參數默認false冒泡階段,true爲捕獲階段) onclick:事件會在元素被點擊時發生。(發生在冒泡階段) 一次點擊事件流程如下圖 注意: 目標元

原创 JavaScript設計模式學習筆記

《JavaScript設計模式與開發實踐》14種設計模式學習筆記。 單例模式 策略模式 代理模式 迭代器模式 發佈-訂閱模式 命令模式 組合模式 模板方法模式 享元模式 職責鏈模式 中介者模式 裝飾者模式 狀態模式 適配器模式 單例模式

原创 複製到剪貼板,粘貼進微信,換行符失效

問題描述 微信(windows)版本:v2.9.0 windows環境下,使用 copy-to-clipboard 實現 複製到剪貼板,粘貼進微信(windows),換行符失效。 原因 閱讀 copy-to-clipboard,clipbo

原创 mac工具安裝及使用

Homebrew,cnpm Homebrew The Missing Package Manager for macOS (or Linux). 官網 安裝 $ /bin/bash -c "$(curl -fsSL https://raw.

原创 nodejs版本管理工具n教程

nodejs 版本管理工具 n。 安裝 使用 npm 安裝 npm install -g n 使用 bash 安裝 curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -

原创 PM2:一個守護進程管理器

PM2 是一個守護進程管理器,它將幫助您管理和保持您的應用程序在線。PM2的入門很簡單,它是一個簡單直觀的CLI,可以通過NPM安裝。 安裝 $ npm install pm2@latest -g 運行 $ pm2 start app.j

原创 [Linux] 常用命令

文件增刪改查 # 增 touch a.txt # 刪(刪除文件獲得遞歸刪除目錄) rm -rf 文件或者目錄 # 改 mv a.txt b.txt # 查 find / -name 'a.txt' 進程 # 後臺啓動進程 + &

原创 Git 名詞解釋

工作區和暫存區 stage: 暫存區 HEAD 是一個指針,指向當前正在工作的本地分支。

原创 [JavaScript] void 0 與 undefined

結論 void運算符 的返回值一定是 原始值undefined; undefined 在局部作用域內可能不爲 原始值undefined。 解析 Babel 將 a?.b 編譯爲 "use strict"; var _a; (_a =