原创 深入理解JS異步編程二(分佈式事件)

PubSub模式 從原生的js角度,我們要監聽某事件的方法就是利用addEventListener方法,但是當我們的頁面趨於複雜,比如要向某個元素添加多個處理事件,那麼就要用一個封裝函數彙集多個處理函數 link.onclick

原创 SQL筆記

SQL是一個非過程化的語言,因爲它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集,所有SQL語句接受集合作爲輸入,返回集合作爲輸出。SQL的集合特性允許一條SQL

原创 NodeJS學習三之API

Node採用V8引擎處理JavaScript腳本,最大特點就是單線程運行,一次只能運行一個任務。這導致Node大量採用異步操作(asynchronous opertion),即任務不是馬上執行,而是插在任務隊列的尾部,等到前面的

原创 萌萌的websocket原理解析

轉載自:http://www.zhihu.com/question/20215561 一、WebSocket是HTML5出的東西(協議),也就是說HTTP協議沒有變化,或者說沒關係,但HTTP是不支持持久連接的(長連接,循環連

原创 javascript的replace+正則 實現ES6的字符串模版

採用拼接字符串的形式,將 JSON 數據嵌入 HTML 中。開始時代碼量較少,暫時還可以接受。但當頁面結構複雜起來後,其弱點開始變得無法忍受起來: 書寫不連貫。每寫一個變量就要斷一下,插入一個 + 和 “。十分容易出錯。 無法重

原创 深入理解JS異步編程五(腳本異步加載)

異步腳本加載 阻塞性腳本 JavaScript在瀏覽器中被解析和執行時具有阻塞的特性,也就是說,當JavaScript代碼執行時,頁面的解析、渲染以及其他資源的下載都要停下來等待腳本執行完畢 瀏覽器是按照從上到下的順序解析頁面,因

原创 深入理解JS異步編程三(promise)

jQuery 原本寫一個小動畫我們可能是這樣的 $('.animateEle').animate({ opacity:'.5' }, 4000,function(){ $('.animateEle2').animate({

原创 jsvascript—謎之this?

原文:Gentle explanation of ‘this’ keyword in JavaScript 1. 迷之 this 對於剛開始進行 JavaScript 編程的開發者來說,this 具有強大的魔力,它像謎團一樣需要工

原创 深入理解JS異步編程四(HTML5 Web Worker)

>Web Workers 是 HTML5 提供的一個javascript多線程解決方案,我們可以將一些大計算量的代碼交由web Worker運

原创 chrome調試JavaScript腳本

隨着 JavaScript 應用的複雜性逐漸提高,開發者需要有力的調試工具來幫助他們快速發現問題的原因,並且能高效地修復它。Chrome DevTools 提供了一系列實用的工具使得調試 JavaScript 應用不再是一件痛苦的

原创 不定高多行溢出文本省略

大家應該都知道用text-overflow:ellipsis屬性來實現單行文本的溢出顯示省略號(…)。當然部分瀏覽器還需要加寬度width屬性。 overflow: hidden; text-overflow: ellipsis;

原创 深入理解JS異步編程(一)

js事件概念 異步回調 首先了講講js中 兩個方法 setTimeout()和 setInterval() 定義和用法: setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式。 語法: setTimeout(c

原创 C#中值類型和引用類型及類型的轉換

在 C# 中,變量分爲以下幾種類型: 值類型(Value types) 引用類型(Reference types) 指針類型(Pointer types) 和Javascript一樣,值類型保存在棧中,引用類型值存儲在堆中,

原创 NPM常用命令

npm是什麼 NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發工具,它很方便讓JavaScript開發者下載、安裝、上傳以及管理已經安裝的包。 npm install 安裝模塊 npm in

原创 從前端模塊化的概念來理解Webpack

爲什麼需要模塊化? 隨着網站內容越來越複雜,瀏覽器和用戶的交互越來越細膩,網站再也不是簡單的內容呈現,更像是一個複雜的客戶端軟件,其中html/css/js代碼越來越多,邏輯越來越複雜,越來越不便於管理,多人協作成本加深,爲了解決這些問題