如何學習javascript簡單介紹
在過去,JavaScript只是被用來做一些簡單的網頁效果,比如表單驗證、浮動廣告等,所以那時候JavaScript並沒有受到重視。自從AJAX開始流行後,人們發現利用JavaScript可以給使用者帶來更好的體驗,甚至利用這一優點開發了大型網頁遊戲,於是這門小語言被重視了起來。現在,很多公司會招專門的JavaScript工程師,通常JavaScript是WEB前端開發的必備技能。簡單介紹了JavaScriptr的好處,並不代表大家就會去學習甚至把它學好,興趣是很關鍵的,我認為興趣是最好的老師,它是你專心做一件事並把它做好的動力。另外,大家要相信小語言有大作為,我就曾用Greasemonkey寫過一些非常實用的工具,比如你可以用JavaScript+Greasemonkey寫線上網頁遊戲的外掛程式。下面說說本人學習JavaScript的歷程和心得吧。
一.入門:
(1).學會DIV+CSS佈局:
使用DIV+CSS佈局標準網頁,可以使前端XHTML程式碼更少、結構更清晰,這有利於輕鬆用JavaScript操作DOM,比如,要展示一個3行3列的列表,如果用傳統的表格佈局,現在要你用JavaScript動態生成這個列表,那麼就需要一個迴圈巢狀,如果採用li結構加CSS浮動佈局,一次迴圈就好了。當然,WEB標準化不是一定不能使用表格,我的意思是結構清晰的XHTML更易於把JavaScript效果或功能整合到專案中。
(2).掌握幾種開發測試工具:
作為一個開發人員,熟悉測試工具是必須的,這有助於提高你發現問題和解決問題的效率,對於特別大的專案更是如此。JavaScript和XHTML開發測試利器我就先推薦兩個最常用的,它們是:Web Developer和Firebug。
(3).熟悉JavaScript每一個方法的作用:
這一要求聽起來似乎有點不太實際,我想這個要求對於像C#、JAVA這些大型語言來說確實是,因為這些語言類庫實在太龐大了,相信沒有人可以全面記住它,而且也是沒有必要全部記住,比如用JAVA做網頁與手機開發所關注的類庫是不一樣的。而JavaScript則不是,它的內建方法函式真的不多,先全面熟悉一下,開發起來也將得心應手,比如,你一開始可能認為JavaScript有trim()這個很多語言都有的去行頭行尾空格的方法,當你瞭解JavaScript內建函式庫後你會發現原來在JavaScript中這些方法是要自己去實現。再比如,如果你是從其它比較強大的語言轉過來玩JavaScript,你又可能認為JavaScript應該有MD5加密的方法,當然這也是沒有的,但有人用JavaScript實現了這樣的方法,即JavaScript MD5。說到底JavaScript內建方法少的可憐,但很多牛人寫了一些新方法增加JavaScript功能,比如prototype框架主要是對JavaScript基礎函式進行原型擴充套件的。
(4).瞭解DOM程式設計:
瞭解DOM程式設計算是學習JavaScript過程比較重要的課程,因為JavaScript除了編寫一些純資料處理的邏輯外,更多的是在動態更改XHTML的結構和內容,以達到介面動態更新的目的,而這些工作都要依賴DOM程式設計。jQuery框架在這方面封裝的相當好,提供了豐富的DOM操作方法,可以讓你輕鬆找到頁面任何地方的一個DOM節點(XHTML標籤),然後進行相關操作(增、刪、改、查)。對於有過用其它語言操作XML文件經驗的朋友,相信這一塊很快上手。
(5).接觸並使用AJAX:
在今天,學習了JavaScript而不使用AJAX,那是埋沒JavaScript優勢了(AJAX本身並不能算是JavaScript內容)。AJAX對於使用者以及伺服器來說都是有好處的,對於使用者,提供更好的使用者體驗,最典型的一個應用場景:註冊頁面的使用者名稱可用性預檢測,傳統的可能會遇到這樣的問題:使用者填寫了一堆資料後提交表單,結果被伺服器告知這個使用者被註冊了,要使用者重新填寫資料註冊,這對於大型多使用者網站那是很致命的,因為使用者輸10個使用者名稱可能有一半已被使用了。對於伺服器來說,減少網頁流量,因為AJAX後,一般是按需載入資料的,不會因為區域性更新而重新載入整個頁面。比如一個網頁佔三屏高,我們可以預設只載入第一屏的內容,當使用者拉動滾動條往下的時候,再載入二三屏的內容。另外像WEB線上地圖應用也是AJAX使用的典範。
二.提高:
(1).深入理解JavaScript this關鍵字:
JavaScript this的作用與指向跟很多真正物件導向的開發語言是有很大差別的,它不始終指向當前物件,是會變化的。如果不注意這個問題,就有可能遇到看似沒錯的程式碼報錯或不執行等問題。
(2).學習JavaScript OOP程式設計:
OOP是個好東西,它使程式設計師思考問題更有組織性,程式碼的組織也更清晰。JavaScript 也可以OOP,但與一些傳統的OOP語言同樣存在較大差別,所以要真正用熟JavaScript OOP也是需要下點功夫的。
(3).瞭解閉包:
JavaScript閉包也是被談得比較多的一個話題,閉包使變數作用域變得複雜起來,但這一特性又使這門語言變的更靈活了。
(4).學習規範開發:
團隊精神相信大家是聽過不少了,就職一個公司做開發,當然離不開團隊,團隊要想合作愉快,每個成員的編碼必需符合一定規範,這也是每個公司對程式設計師的基本要求。關於規範通常指變數命名、檔案組織、註釋規範等,這方面知識與其它語言的規範是有相通性的。
(5).找本演算法的書讀一讀:
我認為學會並使用一門語言並不是什麼難事,難的應該是用語言這基本的語法與語句去解決一些複雜的問題。要解決一些複雜的問題,可能會用上一些演算法,有些演算法實現可能是一個團隊在做的,比如中科院中文分詞的具體實現,另外像遊戲常用自動尋徑A*演算法等。也許你認為你不可能在JavaScript開發上遇到這麼複雜的問題,其實這還要看你在做什麼專案,如果你是在開發大型網頁遊戲,通常面臨更多具有挑戰性的難題,如果你有讀過一些演算法書籍,瞭解一些常見問題的解決方法,在開發過程中自然會如虎添翼。另外,熟悉演算法顯然對於你日後接觸其它開發語言也是有幫助的。
三.習慣:
(1).相容、BUG問題做好筆記:
CSS與JavaScript瀏覽器相容問題最好做好筆記,因為這些問題,或者說BUG是比較詭異的,這些問題瀏覽器不會提示你錯在哪裡,IDE也不會提示你,特別是CSS相容問題,這就會導致你在開發過程碰到這樣的問題會卡老半天得不到解決。即使之前解決過同類問題,以後可能又會碰上,結果之前沒有做好筆記加強記憶,註定你要再受罪一次,因為這些相容問題不是一兩個,臨時記憶效果是不明顯的。以我經驗,很多問題是在IE6下發生的,現在IE6連微軟自己都希望加速它滅亡,這對於前端開發的我們來說當然是一個好訊息。
(2).閱讀優秀的程式碼,比如jQuery:
閱讀優秀程式碼絕對也是自我提高的好方法,這不僅可以瞭解優秀程式碼的組織規範,更可以瞭解一些功能的實現思路。比如jQuery就是一個非常值的學習的JavaScript框架。當然了,要閱讀這樣專業的JavaScript框架,JavaScript基礎要紮實,不然看的過程中會遇到太多疑問,甚至對自己的信心也是一種打擊。
相關文章
- javascript如何操作iframe簡單介紹JavaScript
- 元學習簡單介紹
- JavaScript 簡單介紹JavaScript
- 簡單介紹克隆 JavaScriptJavaScript
- javascript物件簡單介紹JavaScript物件
- javascript this指向簡單介紹JavaScript
- javascript加密簡單介紹JavaScript加密
- 如何除錯javascript程式碼簡單介紹除錯JavaScript
- 簡單介紹JavaScript閉包JavaScript
- JavaScript希爾排序簡單介紹JavaScript排序
- javascript constructor簡單介紹JavaScriptStruct
- javascript建立物件簡單介紹JavaScript物件
- javascript的this用法簡單介紹JavaScript
- javascript arguments用法簡單介紹JavaScript
- javascript 變數簡單介紹JavaScript變數
- javascript簡單模板引擎介紹JavaScript
- javascript作用域簡單介紹JavaScript
- JavaScript return語句簡單介紹JavaScript
- javascript鏈式呼叫簡單介紹JavaScript
- javascript除法運算簡單介紹JavaScript
- javascript &&和||運算子簡單介紹JavaScript
- javascript方法過載簡單介紹JavaScript
- javascript遞迴概念簡單介紹JavaScript遞迴
- JavaScript this指向解綁簡單介紹JavaScript
- javascript陣列操作簡單介紹JavaScript陣列
- javascript with()語句用法簡單介紹JavaScript
- javascript匿名函式簡單介紹JavaScript函式
- javascript的in運算子簡單介紹JavaScript
- javascript變數宣告簡單介紹JavaScript變數
- javascript氣泡排序簡單介紹JavaScript排序
- javascript生命週期簡單介紹JavaScript
- javascript變數汙染簡單介紹JavaScript變數
- javascript AMD規範簡單介紹JavaScript
- javascript如何實現模組程式設計簡單介紹JavaScript程式設計
- javascript求餘運算簡單介紹JavaScript
- javascript取模運算簡單介紹JavaScript
- javascript關聯陣列簡單介紹JavaScript陣列
- javascript Object型別物件簡單介紹JavaScriptObject型別物件