如何系統地學習JavaScript

openkk 12年前發布 | 4K 次閱讀 JavaScript框架 CodeBunk

在過去,JavaScript只是被用來做一些簡單的網頁效果,比如表單驗證、浮動廣告 等,所以那時候JavaScript并沒有受到重視。自從AJAX開始流行后,人們發現利用JavaScript可以給用戶帶來更好的體驗,甚至利用這一 優點開發了大型網頁游戲,于是這門小語言被重視了起來。現在,很多公司會招專門的JavaScript工程師,通常JavaScript是WEB前端開發 的必備技能。簡單介紹了JavaScriptr的好處,并不代表大家就會去學習甚至把它學好,興趣是很關鍵的,我認為興趣是最好的老師,它是你專心做一件 事并把它做好的動力。另外,大家要相信小語言有大作為,我就曾用Greasemonkey寫過一些非常實用的工具,比如你可以用 JavaScript+Greasemonkey寫在線網頁游戲的外掛程序。下面說說本人學習JavaScript的歷程和心得吧。

入門

    1. 學會DIV+CSS布局
    </ol>

    使用DIV+CSS布局標準網頁,可以使前端XHTML代碼更少、結構更清晰,這有利于輕松用JavaScript操作DOM,比如,要展示一個3 行3列的列表,如果用傳統的表格布局,現在要你用JavaScript動態生成這個列表,那么就需要一個循環嵌套,如果采用li結構加CSS浮動布局,一 次循環就好了。當然,WEB標準化不是一定不能使用表格,我的意思是結構清晰的XHTML更易于把JavaScript效果或功能整合到項目中。

      1. 掌握幾種開發測試工具

    作為一個開發人員,熟悉測試工具是必須的,這有助于提高你發現問題和解決問題的效率,對于特別大的項目更是如此。JavaScript和XHTML開發測試利器我就先推薦兩個最常用的,它們是:Web Developer和Firebug。

      1. 熟悉JavaScript每一個方法的作用

    這一要求聽起來似乎有點不太實際,我想這個要求對于像C#、JAVA這些大型語言來說確實是,因為這些語言類庫實在太龐大了,相信沒有人可以全面記 住它,而且也是沒有必要全部記住,比如用JAVA做網頁與手機開發所關注的類庫是不一樣的。而JavaScript則不是,它的內置方法函數真的不多,先 全面熟悉一下,開發起來也將得心應手,比如,你一開始可能認為JavaScript有trim()這個很多語言都有的去行頭行尾空格的方法,當你了解 JavaScript內置函數庫后你會發現原來在JavaScript中這些方法是要自己去實現。再比如,如果你是從其它比較強大的語言轉過來玩 JavaScript,你又可能認為JavaScript應該有MD5加密的方法,當然這也是沒有的,但有人用JavaScript實現了這樣的方法,即 JavaScript MD5。說到底JavaScript內置方法少的可憐,但很多牛人寫了一些新方法增加JavaScript功能,比如prototype框架主要是對 JavaScript基礎函數進行原型擴展的。

      1. 了解DOM編程

    了解DOM編程算是學習JavaScript過程比較重要的課程,因為JavaScript除了編寫一些純數據處理的邏輯外,更多的是在動態更改 XHTML的結構和內容,以達到界面動態更新的目的,而這些工作都要依賴DOM編程。jQuery框架在這方面封裝的相當好,提供了豐富的DOM操作方 法,可以讓你輕松找到頁面任何地方的一個DOM節點(XHTML標簽),然后進行相關操作(增、刪、改、查)。對于有過用其它語言操作XML文檔經驗的朋 友,相信這一塊很快上手。

      1. 接觸并使用AJAX

    在今天,學習了JavaScript而不使用AJAX,那是埋沒JavaScript優勢了(AJAX本身并不能算是JavaScript內容)。 AJAX對于用戶以及服務器來說都是有好處的,對于用戶,提供更好的用戶體驗,最典型的一個應用場景:注冊頁面的用戶名可用性預檢測,傳統的可能會遇到這 樣的問題:用戶填寫了一堆資料后提交表單,結果被服務器告知這個用戶被注冊了,要用戶重新填寫資料注冊,這對于大型多用戶網站那是很致命的,因為用戶輸 10個用戶名可能有一半已被使用了。對于服務器來說,減少網頁流量,因為AJAX后,一般是按需加載數據的,不會因為局部更新而重新加載整個頁面。比如一 個網頁占三屏高,我們可以默認只加載第一屏的內容,當用戶拉動滾動條往下的時候,再加載二三屏的內容。另外像WEB在線地圖應用也是AJAX使用的典范。

    提高

      1. 深入理解JavaScript this關鍵字

    JavaScript this的作用與指向跟很多真正面向對象的開發語言是有很大差別的,它不始終指向當前對象,是會變化的。如果不注意這個問題,就有可能遇到看似沒錯的代碼報錯或不執行等問題。

      1. 學習JavaScript OOP編程

    OOP是個好東西,它使程序員思考問題更有組織性,代碼的組織也更清晰。JavaScript 也可以OOP,但與一些傳統的OOP語言同樣存在較大差別,所以要真正用熟JavaScript OOP也是需要下點功夫的。

      1. 了解閉包

    JavaScript閉包也是被談得比較多的一個話題,閉包使JavaScript變量作用域變得復雜起來,但這一特性又使這門語言變的更靈活了。

      1. 學習規范開發

    團隊精神相信大家是聽過不少了,就職一個公司做開發,當然離不開團隊,團隊要想合作愉快,每個成員的編碼必需符合一定規范,這也是每個公司對程序員的基本要求。關于規范通常指變量命名、文件組織、注釋規范等,這方面知識與其它語言的規范是有相通性的。

      1. 找本算法的書讀一讀

    我認為學會并使用一門語言并不是什么難事,難的應該是用語言這基本的語法與語句去解決一些復雜的問題。要解決一些復雜的問題,可能會用上一些算法, 有些算法實現可能是一個團隊在做的,比如中科院中文分詞的具體實現,另外像游戲常用自動尋徑A*算法等。也許你認為你不可能在JavaScript開發上 遇到這么復雜的問題,其實這還要看你在做什么項目,如果你是在開發大型網頁游戲,通常面臨更多具有挑戰性的難題,如果你有讀過一些算法書籍,了解一些常見 問題的解決方法,在開發過程中自然會如虎添翼。另外,熟悉算法顯然對于你日后接觸其它開發語言也是有幫助的。

    習慣

      1. 兼容、BUG問題做好筆記

    CSS與JavaScript瀏覽器兼容問題最好做好筆記,因為這些問題,或者說BUG是比較詭異的,這些問題瀏覽器不會提示你錯在哪里,IDE也 不會提示你,特別是CSS兼容問題,這就會導致你在開發過程碰到這樣的問題會卡老半天得不到解決。即使之前解決過同類問題,以后可能又會碰上,結果之前沒 有做好筆記加強記憶,注定你要再受罪一次,因為這些兼容問題不是一兩個,臨時記憶效果是不明顯的。以我經驗,很多問題是在IE6下發生的,現在IE6連微 軟自己都希望加速它滅亡,這對于前端開發的我們來說當然是一個好消息。

      1. 閱讀優秀的代碼,比如jQuery

    閱讀優秀代碼絕對也是自我提高的好方法,這不僅可以了解優秀代碼的組織規范,更可以了解一些功能的實現思路。比如jQuery就是一個非常值的學習 的JavaScript框架。當然了,要閱讀這樣專業的JavaScript框架,JavaScript基礎要扎實,不然看的過程中會遇到太多疑問,甚至 對自己的信心也是一種打擊。

    注意

      1. 在JavaScript入門之前避免直接使用JavaScript框架做開發

    如果你沒有任何JavaScript基礎,請不要直接使用JavaScript框架做開發,我認為這可能會誤導你對一門語言的認識,比如你直接使用 了jQuery用點連起來的語句寫法,你是否會認為這是JavaScript語法的一種呢?再比如你使了prototype你不要把框架擴展后的基類方法 認為是JavaScript內置的。我認為JavaScript框架是用來提高效率的,它絕對不是JavaScript入門應該學習的。

      1. 網上找的很多例子可能不是跨瀏覽器兼容的

    有很多JavaScript效果源碼是N年前某網友寫的,N年前是IE的天下,于是一些前端懶得解決腳本跨瀏覽器兼容問題,使寫出來的腳本只適用于 IE。當你得到這樣的一段代碼,請不要說垃圾,也不要為此發牢騷,因為這些代碼并不是沒有一點價值的,如果你了解JavaScript跨瀏覽器兼容問題, 相信你可以很輕松通過少需修改使代碼有更好的兼容性。

    轉自:http://www.cnblogs.com/wangzilin/archive/2012/03/08/2384778.html

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!