原创 Base64編碼格式

Base64 就是一種編碼方法,可以將任意值轉成 0~9、A~Z、a-z、+、/ 這64個字符組成的可打印字符。使用它的主要目的,不是爲了加密,而是爲了不出現特殊字符,簡化程序的處理。經編碼後,文本體積會變大 1/3。 一、ASCII 編

原创 域名的解析過程

一、域名的層級結構 根域名 域名的尾部都有一個根域名。www.baidu.com 真正的域名是 www.baidu.com.root,簡寫爲www.baidu.com.,又因爲根域名 .root 對於所有域名都是一樣的,所以平時是省略的。

原创 性能調試實踐

頁面幀(Performance -> FPS,Rendering -> FPS meter)、事件(Performance -> Event Log)和實際內存(Memory,Performance Monitor -> JS heap

原创 URI 和 URL

一、URI(統一資源標識符) URI 是用來標識互聯網上的資源(例如,網頁或文件)和怎樣訪問這些資源的傳輸協議(例如,HTTP 或 FTP)的字符串。 js編碼解碼URI的方法有4個:encodeURI、encodeURIComponen

原创 前端異常捕獲和日誌上報

一、異常捕獲 對於前端來說,我們需要的異常捕獲無非爲以下兩種: 接口調用情況; 頁面邏輯是否錯誤,例如,用戶進入頁面後頁面顯示白屏; 對於接口調用情況,在前端通常需要上報客戶端相關參數,例如:用戶OS與瀏覽器版本、請求參數(如頁面ID);

原创 前端性能優化清單

前端性能優化清單 點贊 收藏 分享 文章舉報 huangpb0624 發佈了122 篇原創文章 · 獲贊 87 · 訪問量 52萬+ 他的留言板

原创 ES5有幾種方式可以實現繼承?分別有哪些優缺點?

原文鏈接:https://github.com/YvetteLau/Blog/issues/35 ES5 有 6 種方式可以實現繼承,分別爲: 1. 原型鏈繼承 原型鏈繼承的基本思想是利用原型讓

原创 Gulp監聽文件改動並壓縮

package.json { "name": "gulp-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": {

原创 js 原理題

1. new 的實現原理 創建一個空對象 這個新對象被執行 [[原型]] 連接 構造函數中的this指向這個空對象,執行構造函數方法,屬性和方法被添加到this引用的對象中 如果構造函數中沒有返回其它對象,那麼返回this,即創建的這個的

原创 什麼是閉包?閉包的作用是什麼?

原文鏈接:https://github.com/YvetteLau/Blog/issues/35 閉包的定義 《JavaScript高級程序設計》: 閉包是指有權訪問另一個函數作用域中的變量的

原创 GitHook 工具 —— husky 配置

husky 是一個 Git Hook 工具。本文主要實現提交前 eslint 校驗和 commit 信息的規範校驗。 1. 安裝 husky,lint-staged,@commitlint/cli,@commitlint/config-c

原创 如何正確判斷this的指向?

如果用一句話概括 this 的指向,那麼即是: 誰調用它,this 就指向誰。 但是僅通過這句話,我們很多時候並不能準確判斷 this 的指向。因此我們需要藉助一些規則去幫助自己: this 的指向可以按照以下順序判斷: 全局環境中的 t

原创 熱門跨平臺方案對比:WEEX、React Native、Flutter和PWA

原文鏈接:https://mp.weixin.qq.com/s?__biz=MjM5MTA1MjAxMQ==&mid=2651233590&idx=2&sn=f5b3f70b6efce30c0a45

原创 前端三大主流框架的對比React、Vue、Angular

1. 組件 React 和 Vue 都擅長處理組件:小型的無狀態的函數接收輸入和返回元素作爲輸出。Angular 沒有組件化的概念。 2. Typescript,ES6 與 ES5 React 專注於使用 ES6。Vue 使用 ES5 或

原创 Mac下通過 HomeBrew 安裝和配置 Nginx

原文鏈接:https://www.jianshu.com/p/026d67cc6cb1 Nginx(音“engine x”)是一款開源的web和反向代理服務器,查看官網。具有高性能、高併發、低內