原创 對 Vue 生命週期的理解

生命週期 描述 beforeCreate Vue 實例剛剛被創建,只擁有默認的一些生命週期函數和事件 created 已完成 data 和 methods 中的數據初始化 beforeMount Vue 模板

原创 MVC、MVP 和 MVVM 框架模式的區別?

MVC 前端的 MVC 和後端類似,具有 View、Controller 和 Model。 Model:負責保存應用數據,與後端數據進行同步。 Controller:負責業務邏輯。 View:負責視圖展示,將 Model 中的數據可視化

原创 script 標籤中的 async、defer 屬性

<script> 當解析到 script 標籤時,頁面會停止解析並下載對應的腳本,並馬上執行,執行完畢後再繼續解析頁面。 <script async> async 在下載腳本的同時不會停止解析 HTML,但是在下載完成後會停止解析並開始執

原创 CommonJS、AMD、CMD 和 ES6 Model 的區別

一、CommonJS CommonJS 是一種同步的模塊化規範,所以主要用於服務器端,Node.js 採用的就是這個規範。 特點: 對於基本數據類型,屬於複製。 對於複雜數據類型,屬於淺拷貝。所以由於兩個模塊引用的對象指向同一個內存空

原创 ES6 Proxy 與 Object.defineProperty 的優劣對比?

Proxy 的優勢如下: Proxy 可以直接監聽數組的變化 Proxy 可以直接監聽對象而非屬性 Proxy 有 13 種攔截方法,比 Object.defineProperty 要更加豐富的多 Object.defineProper

原创 vue-cli2 中 assets 和 static 文件夾的區別

相信有很多小夥伴在剛開始學習 vue 的時候都傻傻分不清楚,assets 和 static 文件夾的區別。下面我就來簡單說一下它們之間的不同之處。 assets目錄中的文件會被webpack處理解析爲模塊依賴 然後,它只支持相對路徑的形式

原创 在 Vue 中爲什麼非要用 requier 的方法才能引入圖片?

因爲webpack會將圖片當做模塊來引用,所以在js中需要使用require將圖片引用進來,而不是直接以字符串的形式。 node編程中最重要的思想就是模塊化,import 和 require 都是被模塊化所使用。 遵循規範 require

原创 Javascript 中 ?. 運算符和 ?? 運算符

一、鏈判斷運算符(?. 運算符) 實際開發中,如果要讀取對象內部的某個屬性,往往需要先判斷一下該對象是否存在。 比如,要讀取 user.firstName,安全的寫法應該是下面這樣的: const firstName = (user &

原创 關於 JS setTimeout 立即調用,沒有延遲效果的解決辦法?

今天在學習的時候遇到了 setTimeout 立即調用的問題,很費解,於是就研究了一下。 這是我原來的代碼: function getAge(value) { console.log(value) } setTimeout(getA

原创 對 MVVM 模式的理解

MVVM 模式即 Model-View-ViewModel 模式 Model 層 數據層。它僅僅關注數據本身,不關心任何行爲 View 層 視圖層。view 層可以說是一個動態模板,它定義了頁面的結構和佈局,展示了 vie

原创 HTTP 有哪些方法?

HTTP 方法 HTTP1.0 定義了三種請求方法:GET,POST 和 HEAD 方法 HTTP1.1 新增了六種請求方法:OPTIONS,PUT,PATCH,DELETE,TRACE 和 CONNECT 這些方法的具體作用是什麼?

原创 Vue 的響應式原理

響應式原理 Vue 的響應式原理是基於數據劫持 & 發佈-訂閱模式而實現的。 數據劫持 數據劫持是通過 ES5 的 Object.defineProperty() 方法來實現的 語法:Object.defineProperty(

原创 JavaScript 中 Object.getOwnPropertyNames() 與 Object.keys() 的區別?

大部分情況下,Object.getOwnPropertyNames() 和 Object.keys() 的功能是一樣的,我們一般用他們來獲取對象中所有的屬性,或者是獲取對象中屬性的個數: const obj = { aa: 1,

原创 Vue eventBus 踩坑記錄

需求是這樣的:當我點擊 test 頁面中的跳轉按鈕要跳轉到 home 頁面的時候,我希望 test 頁面中的某些數據會傳遞到 home 頁面; 但是 eventBus 有一些問題: 問題 1:第一次點擊跳轉的時候,home 頁面接收

原创 JS 繼承

JS 沒有類的概念,那 JS 中的繼承是怎麼實現的呢? 其實在 JS 中,繼承全靠原型鏈。 如果大家對原型鏈不是很瞭解,可以看下我之前寫的一篇文章。 一,原型鏈繼承 function Person() { this.name = '