原创 js中的內存管理

目錄   前言 一、內存結構 二、對象及數組的存儲 Object 存儲 Array 存儲 三、內存生命週期 四、垃圾回收 五、V8引擎內存限制 六、內存泄露 內存泄漏的識別方法 常見的內存泄露案例 如何避免內存泄漏 七、視圖類型(連續內存

原创 Unix、Linux、macOS 操作系統簡介

一、Unix 操作系統 Unix是1970年出現的一個操作系統。 在目前主流的服務器端操作系統中,UNIX 誕生於 20 世紀 60 年代末,Windows 誕生於 20 世紀 80 年代中期,Linux 誕生於 20 世紀 90 年代初

原创 爲什麼前端監控要用GIF打點

1背景 我們知道,目前主流的前端監控(百度統計/友盟/谷歌統計)都在用GIF進行打點。但是,爲什麼這些系統都會使用GIF,難道是因爲沒有其他的解決方案嗎? 這得從前端監控的原理說起。 2前端監控的原理 所謂的前端監控,其實是在滿足一定條件

原创 Node調試之 谷歌Inspect擴展程序

一、安裝 Node.js V8 Inspector(不是必須) Node.js V8 Inspector 是Chrome的一個調試node的擴展程序,可以去谷歌商品下載。 不下載的話可以用 Chrome DevTools 自帶的。 二、示

原创 GitBook 本地安裝和使用

GitBook 是一個基於 Node.js 的現代化文檔平臺,可使用 Github/Git 和 Markdown 來製作精美的電子書。 一、GitBook 本地安裝和使用教程 1. 全局安裝 gitbook 腳手架 $ npm inst

原创 Homebrew - Mac必備軟件包管理工具

Homebrew 又叫 brew,是Mac OSX上的軟件包管理工具,擁有安裝、卸載、更新、查看、搜索等很多實用的功能。簡單的一條指令,就可以實現包管理,而不用你關心各種依賴和文件路徑的情況,十分方便快捷。 一、安裝 按照Homebrew

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

一、事件冒泡和事件捕獲的區別 事件冒泡:目標元素事件先觸發,然後父元素事件觸發 事件捕獲:父元素事件先觸發,然後目標元素事件觸發 事件執行順序是: 先事件捕獲(從 Windows -> document 依次往下) 再是目標事件處理 最後

原创 瀏覽器的多進程架構

以 Chrome 爲例,它由多個進程組成,每個進程都有自己核心的職責,它們相互配合完成瀏覽器的整體功能。 Chrome 採用多進程架構,其頂層存在一個 Browser process 用以協調瀏覽器的其它進程。 優點 由於默認 新開 一

原创 js工具函數

1. 解析 URL Params 爲對象 function parseParam(url) { const paramsStr = /.+\?(.+)$/.exec(url)[1]; // 將 ? 後面的字符串取出來 const

原创 JavaScript 中的內存管理

前言 像C語言這樣的底層語言一般都有底層的內存管理接口,比如 malloc()和free()用於分配內存和釋放內存。 而對於JavaScript來說,會在創建變量時分配內存,並且在不再使用它們時“自動”釋放內存,這個自動釋放內存的過程稱爲

原创 用 @font-face 實現自定義字體

目錄 一、語法 二、字體格式 三、實戰使用 四、各瀏覽器兼容 五、用 unicode-range 指定字體適用範圍 1. unicode-range的值和語法 2. unicode-range的常用值 六、字體壓縮 參考文章 一、語法

原创 計算機存儲部件詳解

一、存儲器 計算機的存儲器有兩類: 一類是內部存儲器(內存),存儲信息速度快,但是斷電後存儲內容全部丟失。 一類是外部存儲器(主要是磁盤),存取速度比內存慢得多,但是存儲信息不受斷電的影響。 二、磁盤 磁盤又分爲兩類,一類是硬盤,一類是軟

原创 二進制對象:Blob、File和它們的讀取對象:FileReader

一、Blob 對象 Blob,全稱 Binary Large Object,代表二進制類型的大對象。在Web領域,Blob對象表示一個不可變、二進制原始數據的類文件對象,因此可以像操作文件對象一樣操作Blob對象。File 接口基於Blo

原创 JS == 和 === 區別

==,兩邊值類型不同的時候,要先進行類型轉換,再比較 ===,不做類型轉換,類型不同的一定不等 == 類型轉換過程: 如果類型不同,進行類型轉換 判斷比較的是否是 null 和 undefined, 如果是, 返回 true 判斷兩者類型

原创 iconfont 的使用方法

iconfont 常用的方法有兩種:一種是直接下載到本地,另一種是使用遠程鏈接。 直接下載到本地 把 iconfont 下載到本地,然後把整個文件夾放到自己的項目中。 iconfont 有三種引用方式:Unicode,Font clas