原创 jquery的deferred對象

var wait = function(dtd){     var dtd = $.Deferred(); //在函數內部,新建一個Deferred對象     var tasks = function(){       aler

原创 本地存儲封裝-localStorage,sessionStorage,userData

h5新增了本地存儲localStorage,sessionStorage。UserData是微軟爲IE專門在系統中開闢的一塊存儲空間。 chrome, safari, firefox, ie 9都支持 localStorage

原创 jquery-源碼分析

1、jQuery.type type: function( obj ) { return obj == null ? String( obj ) : class2ty

原创 getComputedStyle方法與currentStyle屬性獲取元素樣式

1、getComputedStyle() getComputedStyle是一個可以獲取當前元素所有最終使用的CSS屬性值(計算之後的最終結果,如2em計算後的結果。此外,即使沒有CSS代碼,也會把默認的祖宗八代都顯示出來)。返回

原创 面向對象思想-封裝拖拽對象

1、我們常常會通過修改元素的top,left,translate來其的位置發生改變。修改元素的left,top值,但會引起頁面重繪,而transform不會,所以要優先使用transform。 2、如何獲取當前瀏覽器支持的tra

原创 requestAnimationFrame--用法及輪播動畫

requestAnimationFrame ,字面含義是請求動畫幀。從API命名來看,和動畫有着密切的關係。其用法跟setTimeout差不多,與setTimeout相比,最大的優勢是 由瀏覽器來決定函數的執行時機 。 形象一點

原创 作用域安全的構造函數

問題引入: 之前看到《js語言精粹》上,介紹js語言的糟粕,其中之一就是全局對象。當在使用構造函數時,可能忘記寫new,那對象就添加到了全局對象window上,導致了錯誤對象屬性的意外增加。 比如,一個構造函數: functi

原创 js多態-淺析

《JavaScript設計模式與開發實踐》上,講到js的多態,我覺得書上的例子還是挺好的,特此總結一下。 多態就是 同一個操作 作用於不同的對象上面,會產生不同的解釋和不同的執行結果。或者說,給不同的對象發送同一個消息的時候,這

原创 鼠標與按鍵 事件觸發順序

事件觸發順序: 之前研究過input文本框的事件觸發順序,今天突然想起來,就做個總結。 <input type="text" name="" id="txt"> <script> var txt = docum

原创 promise原理淺析

Promise超神超簡單總結: 之前總感覺promise很神祕,今天仔細讀了阮一峯大神的es6,也查詢了下相關的promise原理,終於明白了promise怎麼這麼6. 簡介: Promise 對象用於延遲(deferred)

原创 不錯的鏈接--積累ing

http2: http://www.jianshu.com/p/52d86558ca57 https://segmentfault.com/a/1190000009280206 安全: http://www.jianshu.co

原创 關於JavaScript的數組隨機排序

之前再做數組的隨機排序問題,潛意識想到的第一個方法就是 產生隨機下標排序。曾經網上一直流傳着這樣一個寫法: function shuffle(arr) { arr.sort(function () { ret

原创 跨瀏覽器的事件偵聽器和事件對象

爲跨瀏覽器實現添加事件偵聽器和跨瀏覽器事件對象的使用方法做了下總結,並把這些方法打包。<高級程序設計>裏面建議使用此封裝方法,可跨瀏覽器實現事件。我下篇博客裏,有介紹惰性載入方式,判斷分支只需一次。 惰性載入 var Eve

原创 js中一系列的兼容---惰性載入優化

惰性載入函數 爲了避免每次都判斷瀏覽器能力,影響效率,將判斷放在返回的函數外面。(惰性載入) 惰性載入函數表示函數執行的分支僅會發生一次。 有兩種實現惰性載入的方式: 第一種是在函數第一次被調用時在處理函數。在第一次調用的

原创 文件系統API

對於表單裏的input:可以直接通過name找到,document.form[0].input_file 主要代碼: var inputFile = document.forms[0].input_file; var files