原创 如何獲取閉包中循環的i值

假設有這樣的一個問題:ul中含有多個li標籤,我們想對每個li綁定點擊事件,並且打印出該li爲第幾個li元素 一般寫法是寫一個for循環 var lis = document.getElementsByTagName("li");

原创 利用generator(thunk化函數/promise方法)處理回調地獄的問題

在Nodejs中是通過回調函數控制異步過程的,但是當多個事件之間相互依賴,或多個事件一起協作時,就會導致函數嵌套過深的情況。如下是一個在項目中顯示文章詳情頁的的代碼,我們看到這個函數嵌套了七八層。這樣的嵌套很容易因爲缺少括號發生錯

原创 jquery源碼分析—data緩存

data和attr、prop的作用類似 都是給元素添加屬性,但是data可以防止DOM元素與對象之間的互相引用,從而防止出現內存泄漏的現象。 data的使用方法 data可以作爲工具方法和實例方法使用 var obj = {};

原创 js實現排序算法(冒泡、選擇、插入、二分插入、快速、希爾)

插入排序 插入排序的基本操作是將一個記錄插入到已經排好序的有序表中,從而得到一個新的、記錄數增1的有序表 排序過程大概如下: 從第一個元素開始,該元素可以認爲已經被排序; 取出下一個元素,在已經排序的元素序列中從後向

原创 angularJS初識--介紹基本功能及用法

angular是利用JavaScript編寫的一個庫,是爲了克服html在構建應用上的不足。angularJS通過使用標識符的結構讓瀏覽器能夠使用新的語法,通過使用被稱爲指令的新屬性來擴展HTML,通過內置的指令來爲應用添加功能、

原创 socket基礎知識及js中的Web Sockets

socket基本概念 兩個進程如果需要進行通訊最基本的前提是能夠唯一的標示一個進程,在本地通訊中用PID來唯一標示一個進程,但PID只在本地唯一,網絡中的兩個進程PID衝突機率很大。我們知道IP層的ip地址可以唯一標示主機,而TC

原创 node中的path模塊

path爲nodejs的核心模塊之一,主要用來處理文件的路徑。當使用時需要引入path模塊 var path = require("path"); 這裏總結一下path的屬性和方法 path.normalize(src): 規範

原创 jquery源碼--isArraylike merge makeArray

isArraylike isArraylike在jquery源碼中用來判斷參數是否爲類數組或數組。之所以稱爲類數組,是因爲它能夠像數組一樣遍歷,也可以通過像數組中以中括號方式獲取數組中的值一樣獲取類數組中的值。 通常將類數組轉換

原创 NodeJS中的異步I/O、事件驅動

nodejs的主要特點是單線程、異步I/O、事件驅動。讓我們先大概瞭解一下這些名詞的意思。 單線程 單線程是任務按照順序執行的,並且每次只執行一個任務,只有前面的任務執行完成以後,後面的任務才執行。在JS引擎中負責解釋和執行Jav

原创 jquery插件jcrop的初步認識與用法

最近在寫項目的過程中,需要用到圖像裁切上傳,所以接觸了插件jcrop。這個插件的裁切功能主要是獲取裁切圖片後的x座標,y座標與裁切圖片的寬度和高度。該插件運行後,dom格式如下 關於該插件的源碼,以及源碼中的中文註釋部分已發

原创 jquery中的工具方法--Deferred和when

在jquery1.5版本以後,Deferred和promise就是jquery中非常常用的兩個功能,並且在這個版本利用Deferred又完全重寫了ajax模塊。Deferred對象是有jquery.Deferred構造的,$.De

原创 ES6中的Promise相關知識簡述

Promise是抽象異步處理對象以及對其進行各種操作的組件。它把異步處理對象和處理規則進行規範化,並按照採用統一的接口來編寫,而採用規定方法之外的寫法都會出錯。 ES6原生提供了Promise對象。我們來看一下Promise的用

原创 nodeJS中的事件--event

nodeJS中大部分模塊,都繼承自Event模塊。Event模塊是一個簡單的事件監聽器模式的實現,具有addListener/on,once,removeListenter、removeAllListener、emit等基本的事件

原创 AngularJS初識--作用域

作用域是構成AngularJS應用的核心基礎,在整個框架中都被廣泛使用。作用域是視圖和控制器之間的膠水。在應用將視圖渲染並呈現個用戶之前,視圖中的模板和作用域進行連接,然後應用會對DOM進行設置以便將屬性變化通知給AngularJ

原创 jquery源碼解析--queue隊列

queue隊列是jquery庫的內部實現的基礎設施。隊列主要是animate動畫依賴的基礎設施,整個jquery中隊列僅供給動畫用 queue隊列簡介 隊列是一種特殊的線性表,是屬於先進先出,而且只允許在表的前端進行刪除操作(出隊