原创 Node.js用ES6原生Promise對異步函數進行封裝

Promise的概念 Promise 對象用於異步(asynchronous)計算.。一個Promise對象代表着一個還未完成,但預期將來會完成的操作。 Promise的幾種狀態: pending:初始狀態,即等待操作的執行

原创 JavaScript的幾種繼承方式

看《JavaScript高級程序設計》做的一些筆記 ECMAScript只支持實現繼承,不支持接口繼承(因爲函數沒有簽名) 原型鏈(實現繼承的主要方法): function SuperType(){ this.property =

原创 通過Gulp使用Browsersync實現瀏覽器實時響應文件更改

Gulp是什麼鬼 Browsersync又是什麼鬼 如何安裝使用Browsersync 安裝 使用 效果圖 參考 Gulp是什麼鬼 Gulp是一種基於node.js的構建工具,有關構建工具的概念請移步什麼是構建工具

原创 checkbox全選與反選

用原生js跟jquery實現checkbox全選反選的一個例子 原生js: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ch

原创 Node.js實現CORS跨域資源共享

什麼是CORS CORS(Cross-origin resource sharing),跨域資源共享,是一份瀏覽器技術的規範,用來避開瀏覽器的同源策略 簡單來說就是解決跨域問題的除了jsonp外的另一種方法 CORS的wiki 如

原创 頁面兩列布局高度填滿

問題來源 昨天早上某面試提出的一個問題,腦子一熱漏寫了一個條件,心塞。 問題大概是寫一個兩列布局,左邊固定,高度都是默認填滿頁面,右邊內容高度超出瀏覽器窗口出現滾動條。 解決辦法 今天仔細想了下,用浮動做的話,高度不好弄成填滿的。折騰了一

原创 JavaScript +new Array(017)

問題 某龍的筆試題,問console.log(+new Array(017));輸出什麼 第一反應是考察new Array()跟017 其實考察的是+ +運算符作爲二元運算符時,有兩個功能 數字相加 連接字符串 數字相加沒啥好說的,連

原创 Handlebars學習之——塊表達式

Block helper可以讓你自定義迭代器和其他可以傳入新的上下文的功能 基本塊 Block helper的定義方法是:在一個mustache中,以#開頭,後面跟着helper的名稱,然後對應的在一個mustache中以/開頭,加上相同

原创 Node.js抓取網頁

前幾天四六級成績出來(然而我沒考),用Node.js做了一個模擬表單提交併抓取數據的Web 總結一下用到的知識,簡單的網頁抓取大概就是這個流程了 發送Get或Post請求 表單提交,首先弄到原網頁提交的地址,然後引入http或https

原创 CentOS利用postfix搭建郵件服務器

之前我用nodemailer通過163郵箱來發送郵件,不過沒過幾天就一直ETIMEDOUT,不知道什麼原因,想着還是自己搭一個來發郵件可能靠譜點(flag?) 安裝postfix CentOS 7 自帶了postfix服務,在/etc/p

原创 git的基本使用流程

關於git的基本理解 git:一種分佈式版本控制系統 git保存的是每一次改動,而不是文件本身。 git有三個區: 工作區(Working Directory) 這個區就是你在電腦上創建項目的地方,文件的編輯修改都在這個區中進行。 暫存

原创 在Express中使用Handlebars模板引擎

Handlebars介紹 Handlebars 是 JavaScript 一個語義模板庫,通過對view和data的分離來快速構建Web模板。它採用”Logic-less template”(無邏輯模版)的思路,在加載時被預編譯,而不是

原创 gulp-less解決遇到錯誤停止執行task

來龍去脈 在用less+gulp開發時,有時候代碼還沒寫完整,不小心保存了一下,然後gulp就開始執行gulp-less的task。 但是代碼是有問題的,這時候會輸出一個Potentially unhandled rejection,告

原创 Handlebars學習之——HTML轉義

場景 使用{{expression}}時,輸出的內容會被轉義,如: <div>{{title}}</div> context爲 { title: '<p>Hello world</p>' } 結果生成html: <div>&lt;He

原创 Array.prototype.filter()的實現

來源 今年某前端筆試的一道題,大概就是實現一遍filter,包括一個可以改變上下文的要求,其實就是改變this啦,跟原生的filter一樣的功能跟參數。 解析 filter的功能就是過濾,傳入一個函數作爲條件,返回true則將元素加入最終