原创 Nodejs-Koa是一個乾淨的框架

關於koa 今天學習了plover的底層框架koa。nodejs框架用的最多的是express,社區也最大、資料比較全,簡單易上手,所以在我自己寫的一個音樂分享的網站中後臺框架用的是express。之前就聽說過koa是一個優雅的後

原创 Co-使用co自動化執行Generator函數

co是如何工作的 co是用來自動執行generator函數的工具。那麼,首先你需要知道generator。Generator的好處是可以在定義函數時候就打上“斷點”,調用函數時候可以在斷點的地方暫停函數的執行。Generator帶

原创 Co-實現原理分析

generator函數可以理解成一個異步操作的容器,它裝着一些異步操作,但並不會在實例化以後立即執行。而co的思想是在恰當的時候執行這些異步操作。那麼就需要一種機制,在一個異步操作執行完畢以後通知下一個異步操作開始執行。額,這句話

原创 HTML5-Service Worker實現離線頁面訪問

如果提到HTML5的新API,WebSocket ,Web Workers大家應該比較熟悉。WebSocket是用於簡述請求數量的新協議,Web Workers是用於實現瀏覽器的多線程。而今天要介紹的Service Worker是

原创 JavaScript-性能優化,函數節流(throttle)與函數去抖(debounce)

我在寫一個類似百度搜索框的自動提示功能時候,使用了AJAX+keydown事件。調試時候我發現,當在搜索框中輸入文字的時候,控制檯在不停發送AJAX。這在本地服務器測試還好,如果我把它拿到運行環境,很可能出現提示功能卡頓,甚至沒等

原创 JavaScript-二進制與二進制數組

在ES5中引入了Blob用於處理二進制。在ES6中引入了ArrayBuffer、TypedArray、DataView用於處理二進制數組。常規的前端操作用,用到二進制的地方不多。但是,當我想處理文件的傳輸時候,使用二進制進行傳輸可

原创 移動端開發-viewport實現響應式設計

1. 不使用viewport出現的問題 提到響應式設計,大家首先想到的可能是 Bootstrap , @media 。前者是一個響應式UI庫,風格比較扁平化,類似的還有雅虎的Pure。@media是CSS3的屬性,利用它可以在不依

原创 JavaScript-mixin實現多繼承

mixin簡單通俗的講就是把一個對象的方法和屬性拷貝到另一個對象上,注意這個繼承還是有區別的。js是一種只支持單繼承的語言,畢竟一個對象只有一個原型,如果想實現多繼承,那就簡單暴力的把需要繼承的父類的所有屬性都拷貝到子類上,就是使

原创 JavaScript-學會進行錯誤處理

JS代碼寫多了會遇到一個問題,習慣性不進行錯誤處理,這個習慣在瀏覽器端問題不是很大,瀏覽器不會進行報錯,最多你的JS代碼無法執行,部分功能失效。但是這個習慣如果帶到Nodejs中可是個大問題。 好的代碼還是應該健壯,不應該頁面一

原创 Redux-Provider與connect

Redux使用的基本思路 1)定義actions.js,其中包括actions type(字符串常量)、actions creators(返回一個json的函數,返回的這個json就是actions)2)定義reducers.js

原创 JavaScript-父子dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡時執行順序

JavaScript-父子dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡時執行順序 事件的執行順序絕對是讓人頭疼的問題。當父元素與子元素都綁定了多個事件,且有的綁定在冒泡階段、有的綁定在捕獲階段時,事件的觸發順序如何?如果你只

原创 React-爲什麼要使用虛擬DOM

什麼是虛擬DOM(Virtual DOM) 首先,解釋下虛擬DOM。虛擬DOM保存了真實DOM的層次關係和一些基本屬性,與真實DOM一一對應。虛擬DOM的工作原理是:數據 -> 全新的虛擬DOM -> 與上一個狀態的虛擬DOM進行

原创 HTTP-URL中查詢字符串格式化

HTTP-URL中查詢字符串格式化 GET請求是最常見的請求類型,常用語向服務器查詢某些信息。必要時,需要將查詢字符串追加到URL末尾。有的時候爲了根據URL中查詢字符串的不同渲染不同的頁面也需要讀取URL中的查詢字符串。如何避免

原创 HTTP-服務器端CooKie與瀏覽器端Cookie

Cookie的來源 由於HTTP協議是無狀態的,而服務器端的業務必須是要有狀態的。Cookie誕生的最初目的是爲了存儲web中的狀態信息,以方便服務器端使用。比如判斷用戶是否是第一次訪問網站。目前最新的規範是RFC 6265,它是

原创 CSS-合理使用z-index控制盒子視軸高度,解決z-index失效

寫在前面,如果你只關心正文請跳過這部分。我關於css的博客很少,首先是沒有什麼寫靜態頁面的需求,其次是css總是給我一種“不可控”的感覺。比如,我寫過仿知乎首頁的靜態頁面,當時完全不知道爲什麼這個塊“跑掉了”,就不停測試給跑掉的