原创 ES6之Class

簡介 JavaScript 語言中,生成實例對象的傳統方法是通過構造函數。但這種寫法跟傳統的面嚮對象語言差異很大,因此ES6引入了Class(類)概念,它可以看做只是一個語法糖,它的絕大部分功能,ES5 都可以做到,新的class寫法只是

原创 Iterator和for...of循環

Iterator的概念 遍歷器(Iterator)是一種接口,爲各種不同的數據結構提供統一的訪問機制。任何數據結構,只要部署Iterator接口,就可以完成遍歷操作 其遍歷過程如下: 1、創建一個指針對象,指向當前數據結構的起始位置。也就

原创 ES6之async,await

含義 async 函數是什麼?它是 Generator 函數的語法糖,Generator 函數必須要靠執行器才能自執行,而async自帶執行器。 //run函數是generator函數的執行器,async函數內置了執行器 functio

原创 Generator函數

基本概念 可以把Generator理解成一個狀態機,封裝了多個內部狀態。執行Generator函數會返回一個遍歷器對象(Iterator),也就是說Generator函數除了是狀態機,還是一個遍歷器對象生成函數。 形式上,Generato

原创 vue-router

vue-router監聽路由參數的變化 watch: { '$route' (to, from) { // 對路由變化作出響應... } } 完整的 vue-router 導航解析流程 1.導航被觸發; 2.在失活的組

原创 webpack

什麼是loader,什麼是plugin Loader直譯爲"加載器"。Webpack將一切文件視爲模塊,但是webpack原生是隻能解析js文件,如果想將其他文件也打包的話,就會用到loader。 所以Loader的作用是讓webpack

原创 Vuex

Vuex 是一個專爲 Vue.js 應用程序開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。 最簡單的使用方法 const store = new Vuex.Store({

原创 VUE

vue.js的兩個核心是什麼? 數據驅動和組件化 請問 v-if 和 v-show 有什麼區別? 相同點: 兩者都是在判斷DOM節點是否要顯示 不同點: a.實現方式: v-if是根據後面數據的真假值判斷直接從Dom樹上刪除或重建元素節點

原创 mocha單元測試

簡書上的一篇博客寫的很全了,點擊查看,寫一寫自己遇到的一個巨坑....mocha不支持ES6的語法 在單元測試代碼中,我使用import引入一個文件,運行時報Unexpected token import的錯誤,網上找了很多辦法,基本上都

原创 VUE原理剖析

Vue是一個典型的MVVM框架,它通過數據劫持 + 發佈者-訂閱者模式實現了數據的雙向綁定 1、對於MVVM的理解? MVVM 是 Model-View-ViewModel 的縮寫。Model代表數據模型。View 代表UI 組件,它負責

原创 領域驅動設計在前端中的應用

轉載前端迷的領域驅動設計在前端中的應用,很棒的一篇文章,以領域驅動開發

原创 js之面向對象的程序設計

對象是無序屬性的集合,其屬性可以包含基本值,對象或者函數 1、理解對象 創建對象最簡單的方式就是創建一個Object實例,如: var person= { name:'anne', age:22 } 屬性類型: 屬性有兩

原创 css小實際應用

1、文字漸變 { background-clip: text; -webkit-text-fill-color: transparent; /*基本用法*/ background-image:

原创 高性能網站建設一:提高網頁速度的10條規則

以下內容來自於《高性能網站建設指南》一書,書中寫了14條規則,有些規則被我合併了,有些在目前來看已經不適用了,最後總結出這10條規則,之後會繼續寫《高性能網站建設進階指南》 1、減少HTTP請求 CSS Sprites:圖片精靈,將多張圖

原创 合理利用緩存,創建高性能網站

1、緩存的分類 客戶端緩存分爲強緩存和協商緩存,它們之間最重要的區別是強緩存不會發起網絡請求,而協商緩存會發起網絡請求 強緩存:如果強緩存命中,則瀏覽器從自身的緩存中獲取資源,不會發起請求到服務端。從網絡請求中可以看到size列爲memo