Time of Update: 2018-12-07
模組載入系統是我架構的核心模組的一部分,與domReady徹底地整合在一起。當然核心模組還提供了其他常用方法,如數組化,類型判定,簡單的事件綁定...本版本有以下改進:將define的大部分轉交require去處理,define只處理參數。將內部兩個處理依賴關係的對象status與checks改進為輕捷的dom["@modules"]與names。改進resolveCallbacks裡面判定某一個模組的所有依賴是否都已載入成功的邏輯,讓其更加高效。增強domReady傳參的判定,原來是使用簡單的
Time of Update: 2018-12-07
這是一個非常有趣的題目。我們先從Object.prototype.toString入手,看能否解決它。 alert(Object.prototype.toString.call(window))運行代碼結果是五花八門:[object Object]IE6[object Object]IE8[object Window]IE9[object Window]firefox3.6[object Window]opera10[object DOMWindow]safai4.04[object
Time of Update: 2018-12-07
模組載入系統是我架構的核心模組的一部分,與domReady徹底地整合在一起。當然核心模組還提供了其他常用方法,如數組化,類型判定,簡單的事件綁定...本版本有以下改進:HTML5 History
Time of Update: 2018-12-07
近一年來,外國非常熱衷非同步載入的研究。為了加快頁面的載入速度,無阻塞的動態script注入的應用重新回到舞台的中心。LAB.js,ControlJS ,Head JS, yepnopejs, $script.js,NBL JohnnyDepp.js loadrunner還有基於jquery的RequireJS,嘛,它已是另一個層面的東西,還搞了一個術語AMD(Modules/AsynchronousDefinition)來唬人。國內的,暫時只有歲月如歌的 SeaJS
Time of Update: 2018-12-07
模組載入系統是我架構的核心模組的一部分,與domReady徹底地整合在一起。當然核心模組還提供了其他常用方法,如數組化,類型判定,簡單的事件綁定...本版本有以下改進:dom.mix可以處理多個對象的糅合了dom.type在chrome可以更快地檢測chrome添加unbind,與bind組成一組對應方法修正appendScript的一個錯誤,是dom["@debug"],而不是dom["debug"]。通過測試的瀏覽器:IE6-9 FF3.6.12 FF5.1 opera11.50
Time of Update: 2018-12-07
本版本增加了如下特徵:對載入失敗時的負向回調支援。由於opera在處理請求無效地址時發出的是致命錯誤,不能給onerror等捕捉,因此我的負向回調是對它沒作用的(測試瀏覽器為opera11)。但能實現在IE下對script.onerror的類比,這是我的載入器相對於其他載入器最大的優勢,也是本版本最大的亮點。dom.require(dependList,callback,/*optional*/errback) //依賴列表,正向回調,負向回調
Time of Update: 2018-12-07
作為一個架構,我們需要一個跨檔案的命名空間作為共用對象,方便所有檔案的JS代碼都賴以調用其成員。方法很簡單,在你第一個JS檔案中在global對象設定一個對象就行了。比如mass.js為我們的入口檔案global.mass = { name:"mass Framework", description:"the after-end of the mass
Time of Update: 2018-12-07
文章目錄 小知識:正向回調與負向回調 我的模組載入系統也終於到11這樣高的版本了,隨著它的完成,其他模組也加快了進RC的發行資料表,文檔撰寫工作也在跟進中。在本文的最後,我會提供dom
Time of Update: 2018-12-07
這應該是massFramework發布前的最後一次對模組系統的升級了。本版本最大的改進是,增加對回呼函數傳參的支援,讓模組更加徹底,並且通過對require與內部的resolveCallbacks的重構,對架構對JS檔案依賴合并吏加友好。本版本有以下改進:更改dom["@emitter"] 為
Time of Update: 2018-12-07
偉大的IE5.5團隊創造性地為瀏覽器帶來N多東西,把網影打得落花流水的同時,也讓微軟可以有肆無恐地十年不更新IE6了。它留下的瑰寶之一CSS濾鏡,也因為自身的原因與CSS3的崛起,處境尷尬。然而即便如此,我們也少不了它,如alpha濾鏡,實現透明效果,AlphaImageLoader濾鏡讓IE支援png透明,blur濾鏡類比CSS3盒陰影,更NB的是其矩陣濾鏡,完全可以用來實現CSS3 transform
Time of Update: 2018-12-07
本版本更換更好的狀態查詢機制與列隊機制,去除定時器檢測,效能更優,體積更小,功能更強。下面是廣告時間:無阻塞載入,使用的是script標籤注入方式(還有HTML5的async屬性,雖然不知其到底發揮多少威力),並在指令碼載入成功後自動移除這些臨時產生的標籤。按需載入,每一個模組都放進一個與它同名的JS檔案中,沒有必要為使用某個API而載入整個架構。每個模組自行處理依賴關係,使用者不用操心調用了這個模組還要調用哪幾個相關模組,核心模組也不用為這些配置而膨脹(如YUI2,dojo)。並行載入,簡單解
Time of Update: 2018-12-07
本版本最大的亮點是多版本共存。在一些大型項目,開發時間可能長達一年,其依賴的JS庫,如jQuery可能在一年間升幾次級。這時遇到的困難是該不該升級呢?基本上大家用jQuery的原因是它的外掛程式多,這些外掛程式作者與JR的水平差距大,沒有他那樣的功力與前瞻性,只保證在目前的版本上運作良好。因此一升級就死一大堆外掛程式,與rails有“外掛程式殺手”的美譽。因此有些項目就出現不同版塊使用不同jQuery的版本的情況了,項目反而被那些出於迅敏開發而引進的jQuery外掛程式所累。多版本共用的實現原理
Time of Update: 2018-12-07
今すぐフォローすべきnode.js界のスーパーエンジニアnode.jsはじめに最近、サーバサイドJavaScript環境であるnode.jsをいじったりしています。node.jsはまだ書籍も出ていない新しい分野なので、情報収集の手段はインターネットがすべてになります。Webサイトやブログなどを読みながら勉強していくにつれて、node.js界のすごい人たちというのがだんだんとわかってきました。そこで、これからnode.jsを勉強する人のために、日本におけるnode.js界隈のスーパーエンジニアたち
Time of Update: 2018-12-07
模組系統是我架構的核心模組的一部分,與domReady徹底地整合在一起。當然核心模組還提供了其他常用方法,如數組化,類型判定,簡單的事件綁定...本版本主要是對類型判定進行最佳化與重寫模組載入,以更優雅的方式處置循環相依性的問題。(function(global,DOC){ var _dom = global.dom, hash = "#", namespace = escape(DOC.URL.split(hash)[0]), HEAD = DOC.head |
Time of Update: 2018-12-07
新的一年,mass Framework將從dom Framework中脫胎出來,不單單是改個名字這麼簡單。前端部分 命名空間則更名為$。$是個非常有魅力的變數名,十大javascript架構中,就有三個用它做命名空間:Prototype,mootools, jQuery, 並在jQuery上發展到極致,集選取器,domReady, 元素建立於一身。因此你別費勁想這$是什麼意思,只需知道它是個超級函數就行,
Time of Update: 2018-12-07
mass Framework前後通吃,後端是基於node.js組建起來。後端與前端不一樣,是依賴於node.js內建模組提供的一些API,因此前端那些依賴於瀏覽器提供的DOM API的模組無法複用。現在掐指一算,基本上核心模組上只有lang, flow能用得上,more則多一點,如random, pinyin, base64,
Time of Update: 2018-12-07
模組載入系統是我架構的核心模組的一部分,與domReady徹底地整合在一起。當然核心模組還提供了其他常用方法,如數組化,類型判定,簡單的事件綁定...本版本有以下改進:更改隱藏的命名空間escape(DOC.URL.split("#")[0]),為DOC.URL.replace(/(#.+|\W)/g,'');。這個命名空間被其他架構佔有的機率幾乎為零。強化dom.log方法,讓IE6也能列印日誌。重構fixOperaError與resolveCallbacks。將provide方法合并到req
Time of Update: 2018-12-07
本次改進是沿著上次的思路,讓定義模組名盡量的短,然後只要保證請求時路徑正確,那麼它就會內部非常智能修正這個模組的名字,自動加上路徑。至於這些模組叫什麼名字,有什麼屬性,可以檢視方塊架的系統屬性@modules。儘管v14做得的改進非常人性化,但畢竟初次試水,還有許多不足與BUGs。v15就是在這方面進行了改良,原先模組名的修正邏輯是寫define方法中,現在轉移到一個叫innerDefine的方法中,並讓其在臨時產生的iframe沙箱環境中執行,確保沒有改錯。另外,v15,還對許多內建函式與私人
Time of Update: 2018-12-07
這是統一進行各種特徵檢測的模組。這些檢測的值,如果存在對應DOM
Time of Update: 2018-12-07
今天在群裡看到兩個keys函數實現abcd的實現: var obj = { a:1, b:2, c:3 } function keys(obj){ var a = [], i = 0; for(a[i++] in obj);