藍藍設計的小編
雖說事件處理程序可以為現代 Web 頁面添加很強的交互能力,但是不分青紅皂白就添加大量的事件處理程序絕對是一種愚蠢的行為。
我們來分析一下:事件處理程序本質上是一種函數,是一種對象,存放在內存中,設置大量的事件處理程序會使內存中的對象變多,Web 程序的性能會變得越來越差,用戶體驗很不好。
為了更好地利用好事件處理程序,便出現了事件委托,用來提升性能。
JavaScript 是一個強大的面向對象編程語言,但是,并不像傳統的編程語言,它采用一個以原型為基礎的OOP模型,致使它的語法讓大多數開發人員看不懂。另外,JavaScript 也把函數作為首要的對象,這可能會給不夠熟悉這門語言的開發人員造成更大的困惑。那就是我們決定放在前面作為一個簡短前言進行介紹的原因,并且在 JavaScript 里也可以用作面向對象編程的一個參考。
這個文檔沒有提供一個面向對象編程的規則預覽,但有它們的接口概述。
一、download屬性是個什么鬼?
首先看下面這種截圖
如果我們想實現點擊上面的下載按鈕下載一張圖片,你會如何實現?
我們可能會想到一個最簡單的方法,就是直接按鈕a標簽鏈接一張圖片,類似下面這樣:
a
<a href="large.jpg">下載</a>
但是,想法雖好,實際效果卻不是我們想要的,因為瀏覽器可以直接瀏覽圖片,因此,我們點擊下面的“下載”鏈接,并是不下載圖片,而是在新窗口直接瀏覽圖片。
用心設計
隨著移動互聯網的發展,我們越發要關注移動頁面的性能優化,今天跟大家談談這方面的事情。
首先,為什么要最移動頁面進行優化?
縱觀目前移動網絡的現狀:
周周
@Akane_Lee :當項目成員越多,我越不推薦敏捷開發,原因在于「當連自己要做什么事、為什么這樣做、這樣做為了解決什么問題」都搞不清楚前,就跳下去玩敏捷開發,那和比通靈還慘,通靈起碼還有個目標物在前面,搞不清楚狀況的人只能陪他跳世界迷霧開地圖了 >>>
@陳子木 細心的同學不難發現,現在用手機訪問優設網有了全新的閱讀體驗,而且速度很快。有這樣的改變其實也是收到了很多來自微信、微博粉絲的建議,大家想在上班、下班及睡覺的時候閱讀收藏在微博和瀏覽器(同步)里的優設文章。
ExtJs是一個用于創建Web用戶界面的JS框架,提供了豐富的界面部件及布局方式,對于web開發者來說,實現企業應用所需的各種畫面只要掌握JS語言即可。不必再引入flash或silverlight技術,而且能很容易的創建風格統一的企業應用程序。 雖然ExtJs支持各種流行的瀏覽器,甚至包括IE6,但是它在IE系瀏覽器下運行、渲染的效率不高。在谷歌瀏覽器下表現最好,FireFox瀏覽器次之(這得益于谷歌瀏覽器的JS腳本引擎)。 然而谷歌瀏覽器和FireFox瀏覽器的核心都是WebKit(蘋果公司開源的瀏覽器核心,負責解析HTML文本,并呈現到界面上),所以,要想讓我們的CB/S+ExtJs結構的應用程序能有更好的表現,我們必須采用WebKit核心的瀏覽器。 雖然我們能很方便的獲得WebKit的源碼,然而編譯它卻十分耗時費力,不但要選對編譯工具,還要安裝一系列的SDK,編譯時間更是長的驚人(這幾乎是大型C++項目的通病)。編譯出來的DLL使用起來也不是很方便(要翻閱大量的WebKit的API)。 幸運的是QT界面庫為我們做了這些工作,QT庫中包含webkit的瀏覽器控件,并且這個C++庫是跨平臺的,也就是說基于這幾項技術開發的CB/S企業應用可以部署在Linux系統內。 除了使用QT界面庫,還可以選擇gtk+和wxWidgets兩個界面庫,而且這兩個界面庫都對WebKit做過包裝,但是從開發方式,生產效率,運行速度等多方面考慮,還是QT最為合適。 QT界面庫也分為兩個版本,一個是收費的digia提供的QT,另一個是免費的qt-project提供的QT(GPL V3 LGPL V2),這里我們選擇免費版的QT,本文第三節會介紹如何搭建開發環境。
藍藍設計的小編 http://www.tuitetiyu.cn