原创 TypeScript -聲明文件

遇到問題: 開發超五card過程中,使用TypeScript寫代碼,因爲項目中需要引入moment,來處理日期格式問題。像往常一樣下載引入: tnpm i moment --save import * as moment from '

原创 compose函數&pipe函數&柯里化函數&節流函數&防抖函數

compose函數 也就是複合函數  const add = (x) => x + 10; const multple = (y) => y * 10; console.log(multple(add(10))); // 200

原创 react源碼分析——自己實現diff算法

在前面我們實現了_render方法,就是把虛擬dom轉換爲真實的dom,下面我們需要優化一下這個方法,不要讓它傻乎乎的渲染整個dom樹,對比需要變化的地方,只渲染需要變化的地方,這樣的過程,就是diff算法。 對比當前真實的dom跟虛擬的

原创 react源碼分析——自己實現render方法

實現createElement函數 上一章中有講到,js文件可以識別jsx語法,是利用插件調用 react內部的createElement方法,傳遞相應的參數,生成虛擬的dom對象。在自己搭建react-source項目中,我們就先建一個

原创 react源碼分析——自己實現生命週期

實現Component 上一章節中有講到,當渲染的是一個類組件的時候,聲明的組件都是繼承Component組件的,或者PureComponent組件。 在react文件中新創建一個文件component.js文件,index.js文件中引

原创 安裝VirtuallBox虛擬機,配置Linux系統

1 Linux簡介     windows vbox安裝包https://download.virtualbox.org/virtualbox/6.1.4/VirtualBox-6.1.4-136177-Win.exe 或者訪問下面

原创 react源碼分析——自己實現異步setState

衆所周知,很多人都知道react的this.setState()異步的,並且只能通過這個函數來改變狀態。但是,都是知其然,不知其所以然。 其實不是不能通過this.state來改變狀態,只是這樣的改變並 不會引起組件的更新,因爲react

原创 new Date()時間多8小時的問題

整個地球分爲二十四時區,每個時區都有自己的本地時間。在國際無線電通信場合,爲了統一起見,使用一個統一的時間,稱爲通用協調時(UTC, Universal Time Coordinated)。UTC與格林尼治平均時(GMT, Greenwi

原创 react源碼分析——環境搭建

先來初始化一個react項目看一下。 npm install create-react-app -g create-react-app react-test cd react-test npm install npm run s

原创 supervisor, nodemon工具,node項目的自動重啓工具

全局安裝supervisor工具 sudo cnpm i supervisor -g 重啓Visual Studio Code,可以直接supervisor app.js 代替node.js。修改文件可以自動啓動服務器。 頁面刷新一下就

原创 通訊協議詳解

1,概念 網絡協議指的是計算機網絡中互相通信的對等實體之間交換信息時所必須遵守的規則的集合。 網絡上的計算機之間是如何交換信息的呢?就像我們說話用某種語言一樣,在網絡上的各臺計算機之間也有一種語言,這就是網絡協議,不同的計算機之間必須使用

原创 mac address already in use :::1212 釋放被佔用的端口

使用 JavaScript,HTML 和 CSS 構建跨平臺的桌面應用程序:https://www.electronjs.org/ Service Worker:https://lavas.baidu.com/pwa/offline-an

原创 處理url中參數的方法

var str = 'https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4813362722.8.2edb121051X9Na&id=572138214418' fun

原创 移動端fastClick的原理解析

移動設備上的瀏覽器默認會在用戶點擊屏幕大約延遲300毫秒後纔會觸發點擊事件,這是爲了檢查用戶是否在做雙擊。爲了能夠立即響應用戶的點擊事件,我們需要對移動端的點擊事件做下處理。 <!DOCTYPE html> <html lang="en

原创 Linux 系統redis的安裝和使用

1簡介 Redis是一個遠程內存數據庫,它不僅性能強,而且還具有複製特性以及爲解決問題而生的獨一無二的數據模型。 Redis是一個速度非常快的非關係型數據庫,它可以存儲鍵和5種不同類型值的之間的映射,可以將存儲在內存中的鍵值對數據持久化到