原创 瀏覽器的加載、解析、渲染

首先拋出寫這篇文章之前一直在思考的兩個問題: 1.瀏覽器在加載外部css文件和圖片文件時是同步加載還是異步加載? 2.瀏覽器的加載和渲染時同時進行的還是先加載完成再渲染? 下面的是我查到的一些資料和自己的一些理解: 瀏覽器加載和解析ht

原创 js中 == 和 ===

js中的==和===真的讓人感覺非常奇怪,有時候會產生很多錯覺。爲此就根據《js權威指南》中的介紹詳細的解釋梳理了一下兩者的區別。 ==運算符稱作“相等運算符” ===運算符稱作“嚴格相等運算符”或者“恆等運算符” 嚴格相等運算符首先計

原创 js中的原始值和包裝對象

var s = "hello world"; console.log(s) //11 思考一個問題:字符串在js中屬於基本數據類型,爲什麼會有屬性呢? 在js中只要引用了字符串s的屬性,js就會將字符串值通過new String(s)的方

原创 起點

2017年8月1號,我寫了自己的第一篇博客,但是當時只是爲了測試就沒好好寫,發表完以後就刪了。其實很早以前就想寫博客了,但是一方面覺得自己的知識掌握的不夠透徹,不太敢往網上發,另一方面一直在學習新的東西所以時間也沒時間靜下心來寫。直到最近

原创 重構和迴流

張鑫旭老師的文章寫得非常詳細大家可以看看 點贊 收藏 分享 文章舉報 白_夜_行 發佈了26 篇原創文章 · 獲贊 7 · 訪問量 9629 私信

原创 webpack tree shaking 踩坑

首先描述一下問題場景 一個項目中webpack升級到4.x.x版本後在development模式下項目是完全正常工作的,但是在production模式下沒有把antd的css文件打包進去。 項目中webpack和antd的版本如下:

原创 gitlab-ci配置

本文翻譯自:https://docs.gitlab.com/ee/ci/yaml/README.html 在.gitlab-ci.yml中配置你的工作流 這篇文章描述了.gitlab-ci.yml的用法,.gitlab-ci.y

原创 複習筆記系列(二)——數組(ES6中的數組)

以下內容是閱讀阮一峯老師的《ECMAScript入門》的一些筆記一. 擴展運算符功能:將一個數組轉化爲用逗號分隔的參數序列應用場景:1.複製數組2.合併數組3.與解構賦值結合4.字符串5.實現了Iterator接口的對象(任何Iterat

原创 CSS佈局——水平居中

這兩天,在網上做項目的時候發現以前一直把重點放在js上,基礎的css現在反倒成了比較薄弱的一塊,使用時感覺很混亂的樣子。所以決定趁着畢業之前梳理一下css方面的知識點,來一波css系列。 讓一個元素進行水平居中是在實際項目中再平常不過的需

原创 js設計模式—建造者模式

建造者模式:將一個複雜對象的構建層與其表示層相互分離,同樣的構建過程可以採用不同的表示。主要用於分步驟構建一個負責的對象,在這其中“分步驟”是一個穩定的算法,而複雜對象的各個部分則經常變化。下面我們通過一個代碼來說明: // 創建一個應聘

原创 使用margin總結

1.垂直外邊距合併問題 當兩個垂直外邊距相遇時,它們將形成一個外邊距。合併後的外邊距的高度等於兩個發生合併的外邊距的高度中的較大者。 注意點:當一個盒子如果沒有上內邊距和上邊框,那麼這個盒子的上邊距會和其內部文檔流中的第一個子元素的上邊距

原创 js設計模式—單例模式

單例模式可以說是js中最常用的設計模式了,主要用來進行模塊的管理,提供一個命名空間,以減少全局變量的定義,避免產生變量衝突。例如在團隊項目開發的時候,我們可以爲自己的代碼定義一個命名空間: var Tom = { eat: fun

原创 淺析瀏覽器緩存背後的HTTP

一. 回車分爲兩種情況: 1.請求的URI在瀏覽器緩存中未過期,此時直接從瀏覽器緩存中讀取資源。 2.請求的URI在瀏覽器緩存中過期了,此時會在請求頭中出If-Modified-Since或If-None-Match等(具體字段可能不同)

原创 JS中的繼承實現

一.類式繼承 //父類 function superClass(value){ this.superValue = value; } superClass.prototype.getSuperValue = function()

原创 複習筆記系列(一)—— 數組(ES5中的數組)

爲了鞏固下前面學習的以前學習的知識,所以打算寫一個系列的筆記博客,同時對比分析下ES5 和 ES6(泛指ES2015以後的版本)的區別。 今天先來複習下數組。 1.創建數組 方法一:數組直接量 var arr = [];注意兩點:1.直