原创 尋找超出容器水平寬度的元素——CSS outline

由於元素的寬度過寬,有些元素會導致出現水平滾動條。 找到這個問題的原因最簡單的方法就是使用 CSS outline。Addy Osmani 分享了一個非常方便的腳本,可以添加到瀏覽器控制檯,列出頁面上的每個元素。 [].forEa

原创 node.js獲取本機mac地址

原理:調用node.js的os.networkInterfaces() 返回一個對象,該對象包含已分配了網絡地址的網絡接口。 返回的對象上的每個鍵都標識了一個網絡接口。 關聯的值是一個對象數組,每個對象描述了一個分配的網絡地址。

原创 TypeScript真香系列-類

前言 TypeScript真香系列的內容將參考中文文檔,但是文中的例子基本不會和文檔中的例子重複,對於一些地方也會深入研究。另外,文中一些例子的結果都是在代碼沒有錯誤後編譯爲JavaScript得到的。如果想實際看看TypeScr

原创 react+echarts實現全國客戶數據展示

前言 數據可視化一直都是一個流行的話題。我們平時做項目可能就避免不了與圖圖表表打交道。所幸的是現在有許多優秀成熟的數據圖表庫,例如Echarts和Highcharts,我們可以在裏面尋找自己需要的圖表,方便快捷~ 需求 假設我們有

原创 TypeScript真香系列-類型推論和類型兼容性

前言 TypeScript真香系列的內容將參考中文文檔,但是文中的例子基本不會和文檔中的例子重複,對於一些地方也會深入研究。另外,文中一些例子的結果都是在代碼沒有錯誤後編譯爲JavaScript得到的。如果想實際看看TypeScr

原创 TypeScript真香系列-基本類型和變量聲明

前言 TypeScript真香系列的內容將參考中文文檔,但是文中的例子基本不會和文檔中的例子重複,對於一些地方也會深入研究。另外,文中一些例子的結果都是在代碼沒有錯誤後編譯爲JavaScript得到的。如果想實際看看TypeScr

原创 input文件上傳的一些技巧

前言 在我們日常的開發中,避免不了上傳文件這個功能。有時候還必須在上傳文件的時候進行限制,比如下面的例子: 1、不做限制,例如: <input type="file"> 點擊之後顯示: 2、只能上傳圖片,並且指定格式爲png,

原创 js給指定元素插入元素insertAdjacentHTML

前言 insertAdjacentHTML() 方法將指定的文本解析爲 Element 元素,並將結果節點插入到DOM樹中的指定位置。它不會重新解析它正在使用的元素,因此它不會破壞元素內的現有元素。這避免了額外的序列化步驟,使其比

原创 TypeScript真香系列-泛型

前言 TypeScript真香系列的內容將參考中文文檔,但是文中的例子基本不會和文檔中的例子重複,對於一些地方也會深入研究。另外,文中一些例子的結果都是在代碼沒有錯誤後編譯爲JavaScript得到的。如果想實際看看TypeScr

原创 利用reduce計算數組或多個數字的總和

直接上代碼 const sum = (...arr) => [...arr].reduce((acc, val) => acc + val, 0); sum(1, 2, 3, 4); // 10 sum(...[1, 2, 3,

原创 js+css實現移動端抽屜式導航

前言 移動端導航多種多樣,抽屜式導航就是常見之一,下面我們通過javascript和css相結合來實現移動端的抽屜式導航。先看看實現的效果: index.html <!DOCTYPE html> <html lang="zh-C

原创 前端的日期操作大全

前言 雖然現在處理日期方面已經有了很成熟的也很好用的庫,例如(momentjs和date-fns),但是在實際開發中,我們有時候可能並不需要整個庫。 所以我就在下面整理了在前端開發時對日期時間的各種操作,也算是比較全的了。其中一部

原创 想要試試Electron ,不如看看這篇爬坑總結

前言 web端能做的事情很多,但是當涉及到操作系統的時候,可能就有點力不從心了。前段時間在開發一個web系統的時候,就遇到了類似的情況。我們需要獲取電腦操作系統的一些信息,比如mac地址等。我們的web系統是完全放在服務器上,通過

原创 厭煩了Ctrl+CV ?試試用node自動生成重複代碼文件

前言 相信在我們日常遇到的項目中,無論是在前端網站還是後臺管理系統中都會有功能類似的頁面。我們在開發這些功能類似的頁面的時候,爲了提高效率,一般都會運用我們的CV大法。但是當我們CV久了之後,會不會覺得這樣的開發方式有些許枯燥?我

原创 StompJS+SpeechSynthesis實現前端消息實時語音播報

前言 前端消息的實時推送我相信很多人不陌生,我們可以想到利用WebSocket,服務端主動向客戶端推送數據,瀏覽器和服務器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,並進行雙向數據傳輸。其優點有很多,能更好的節省服務器