最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

寫給想學習Javascript的朋友一點學習經驗小結

 更新時間:2010年11月23日 22:29:47   作者:  
今天逛論壇時看到有朋友問,是否有專門教Javascript的學校,這里想想把自己的一點建議和自己3年來的前端Javascript開發(fā)的經驗跟大家分享下,也給出幾本個人認為不錯的書來做為大家學習的參考資料。
當然只是個人的經驗,有什么不對的也請高手見諒和指正。

關于到培訓學校學習的忠告:別說現(xiàn)在沒有這樣的學校,就是有專門的學校也不要去,因為不會有好的老師的。不要浪費你自己(很可能是你父母)的錢和時間。趁早死了這個念頭。

關于培訓學校的這個我想我要比一般的朋友更有發(fā)言權,因為我本人干英語培訓將近2年,我很清楚培訓市場的情況,你很難碰到一個好的老師。英語可能還好些,畢竟英語說得好的老師還比較多,長期跟老外泡在一起,確實對口語能力的提高很顯著,但是代價是很昂貴的。而你現(xiàn)在要學的是Javascript,呵呵,好的前端工程師可不多!

我的個人觀點,有資格和有能力的教好Javascript的老師,一定要是個好的有著豐富的前端開發(fā)經驗的前端工程師。大學的老師,教授可能他們中很少有人符合這個要求,而好的前端工程師,都忙著自己的工作去了。剩下的有時間去教Javascript的人,呵呵,就不多說了。

這里也發(fā)點牢騷,我們在大學校園里學習的東西,你學的時候根本不知道這個東西有什么意義,你自己不去鉆研,老師他是不會告訴你的。在培訓學校,呵呵,也差不多。

如果不是一個好的前端工程師,他很難告訴你為什么我們現(xiàn)在提倡使用閉包把以前的全局變量放到閉包中作為閉包函數(shù)的局部變量?他也很難對 Javascript變量作用域的相關知識跟你講透徹。在Javascript里能夠形成scope(作用域)的東西有哪些?為什么說全局變量是魔鬼?閉包又是怎么產生的作用域?等等這樣很基礎,但很重要的知識的意義,他不清楚,將給你聽,讓你明白這些知識和他們的意義就更困難。

呵呵,所以我的建議,想學Javascript,還是多跟你的身邊認識的朋友,特別是那些從事前端開發(fā)的工程師多交流和學習。自己要多鉆研。呵呵,不認識前端工程師,就到腳本之家與藍色理想來多看看(bbs.blueidea.com,記?。∵@可不是廣告哦!),把你不清楚的問題提出來,但是我這里要說一個好的學習習慣。什么時候提問?

什么時候提問?這個也是問題嗎?對的,很多人,也是很多在校學生的一個不好的學習習慣,一有問題就問別人請求幫助。我個人這個是個壞習慣。難道問問題也是個壞習慣?對的,我個人覺得,你問問題尋求別人的幫助,應該是在你自己已經動腦經思考,通過各種途徑查閱相關資料都無法獲取問題的最終解決辦法的情況下再來提問?這樣你已經對你要解決的問題做過研究,有一定了解,你可以更詳細的告訴別人你想要的答案大概是什么樣的,或者說你可以把你想描述的問題講的更清楚。這樣別人來解決你的問題的時候,也可以更快速的作出解答。我想你學起來,對這個問題的理解也會更深刻些。

好了,好像扯得有些遠了。來談談怎么學習Javascript吧!先給大家潑點冷水,我想告訴你的是:Javascript要比其他的開發(fā)語言都難學好!

為什么?因為就目前來說,大家(國內甚至是國外的程序員)普遍對Javascript這門編程語言(請允許我這么說)了解和研究得不夠深,至少不像大家對 JAVA,C#等這樣的語言了解的和研究得那么透。所以這個就引起了另一個問題,現(xiàn)在市面上Javascript的書籍對Javascript這門語言的講解都不夠深入和全面。當然是相對JAVA,C#這樣的語言來說。所以這就導致了,學Javascript很困難。當然學任何一門編程語言,特別是學好,學精都不容易。

不過也有好的消息,就是現(xiàn)在大家對Javascript的重視和更深入的研究,現(xiàn)在Javascript書籍里講解的內容也要比4年前質量高出太多了,可以這么說,你現(xiàn)在開始Javascript正是時候哦!呵呵!所以這里也給大家一個經驗,買Javascript的書,最好不要買4年前,也就是2005 年前出版的。最好買近兩年出版的書。

說到這里,我想說說一個現(xiàn)象,隨這大家近幾年對Javascript的重視和研究,主要是很多傳統(tǒng)的程序員開始學習和研究Javascript,他們把面向對象編程的思想帶入到Javascript的前端開發(fā),極大的促進了Javascript的推廣和發(fā)展。這點要十分感謝他們。也許是處于這些程序員的傳統(tǒng)的開發(fā)的思想的影響,現(xiàn)在我們的Javascript庫如雨后春筍般的出現(xiàn)。

呵呵!JAVA有JAVA的庫和各種各樣的框架,C#也是模仿JAVA,也是有著豐富的開發(fā)庫。這些庫為我們的開發(fā)帶來了極大的方便,這是個很不錯的事情。所以這些傳統(tǒng)的程序員在從事前端的開發(fā)的時候,也為自己編寫了庫。我們很熟悉的就有prototype,jQuery,YUI,Ext等等,我就不一一列舉了。當然這些庫的出現(xiàn)也為我們的前端開發(fā)帶來了極大的方便,但是事情都有兩面性的,在這些庫的出現(xiàn)后,在給我們的開發(fā)帶來便利的同時,也讓我們的很多朋友產生對庫的依賴,可能嚴重點的,沒有庫了,給他個記事本(我們姑且不提開發(fā)效率)可能就不知道如何下手了。

如果仔細想想,這個也是很可怕的事情。為什么?因為大家都不再去花心思去研究Javascript底層的知識,只是一味的在這些庫的幫助下,構建那些炫目的特效(還好,這些庫都是免費的)?;蛘吒纱嘀苯佑脛e人寫好的插件。都不知道萬一這些庫要是開始收費(只是瞎想想),怎么辦?還有就是這些庫比如有別有用心的人,在中加點什么惡意的東西,我想很難有人會從頭到位把一個庫研究個透。你怎么辦?最嚴重的就是編程能力的下降,但給人的感覺是入門的門檻更底了。不要被“The Write Less, Do More”這樣的廣告迷惑了,因為在你加載這個庫的同時,別忘了“Size of your web page is much bigger, or say the size is HUGE".

所以當大家使用這些庫的時候,我希望大家不僅僅是使用者,也要用心去閱讀這些庫的代碼,從中學習。收獲會很大的,而且說不定,你會發(fā)現(xiàn)可個改善地方,甚至是有錯誤的地方。這個是很有可能的。還有就是我剛才提到的,這些庫的開發(fā)者很多都是從傳統(tǒng)的程序員轉型過來,或者說是因為開發(fā)需要而開始學習 Javascript,很可能會有錯誤。或者說受以前學習語言的影響,寫的程序更像是在寫其他的語言,而不是寫Javascript,執(zhí)行效率并不高。所以不要迷信庫。

問幾個問題,你清楚jQuery是怎么實現(xiàn)CSS(3)和XML的XPath選擇器的嗎?jQuery又是怎么實現(xiàn)eventHandle的?怎么處理其中的瀏覽器兼容性問題的?

如果你還不明白我提的問題,那么請仔細看看jQuery是怎么實現(xiàn)的吧!如果你還讀不懂它,還是多看看我要給你介紹的Javascript的書吧,了解 Javascript的底層和基礎的知識。讓自己能讀懂jQuery,讓自己不要jQuery也能實現(xiàn)Dom的拖動,讓自己也能寫出自己的庫。當然這話我說得太大了。不過只要你是真正研究Javascript和相關的知識,你也可以做到的。

繞了這么大一圈,現(xiàn)在讓我們正式開始吧,來介紹幾本學習Javascript的書吧。(以下介紹的書都是本人自己購買閱讀過的,對了我不崇洋媚外,一條真理:不要買中國人寫的Javascript書)

入門的書:

《Javascript高級編程技術》:不要被“高級”這兩個字嚇到,這個書其實是本很不錯的入門的書,因為這本書也很詳細的介紹了javascript 的全部內置對象和語法,并且介紹了面向對象的思想,DOM、BOM的知識,正則表達式,高級的DOM處理。Ajax的知識,還是很全面的。而且個人認為這本書對基礎知識的介紹并不比其他的同類書遜色。比起《Javascript權威指南》(我當時買點的是第4版),我覺得更詳細些和更清楚些。在《指南》的第4版中,我覺得那本書中講的東西有點混亂。感覺一個知識點還沒有講清楚,就給你一個什么類,看得不明不白的。因為沒有看《指南》的第五版,所以這里不推薦給大家。而且《高級編程》這本書要比《指南》便宜不少。《高級編程》中也提出了采用功能(future)探測來取代瀏覽器版本探測來處理腳本兼容性的處理。個人覺得《指南》有的,這本書也都說了。還有我前面提到的,這本書的作者是YAHOO的資深的前端工程師,你可以在他的網站下載到相關的代碼。

《Javascript DOM 編程藝術》:我個人的感覺是學習DOM編程的經典入門書籍,作者是webstandards.org的創(chuàng)始人之一,書中以淺顯易懂的語言,教你一步一步的來講解DOM編程,一點點地提升網站的用戶體驗。書中一直強調不唐突的腳本開發(fā),網站要向后兼容,強調網站的可訪問性。這個也是大家在做前端開發(fā)時應當努力追求的,也是必須要有的開發(fā)指導思想。可惜很多的后臺開發(fā)的程序員,根本沒有這個概念,所以你在開發(fā)的時候,一定要給你的程序員多洗腦。呵呵!

《CSS權威指南》第三版:做前端開發(fā),你必須要了解CSS,書中對CSS2的介紹很詳細了。仔細的看吧,我每次看的時候,有會有新的收獲。

《網站重構》、《CSS網站布局實錄》(唯一一本推薦的國人寫的書):看完了,你會知道為什么學WEB標準?你會知道前端工程師的工作很重要。

提高階段:

《Javascript DOM 高級編程》:這本書里不光詳細的介紹的DOM編程的技巧,也講了使用面向對象編程的方法,使用命名空間來管理書中所寫的開發(fā)庫,在不斷的學習中,你的個人 DOM Javascript庫也不斷的充實。呵呵,就像我前面說的,你可以寫出自己的庫了。當然書中的代碼比較松散,還不能運用到實際的企業(yè)級的開發(fā)中。但是書中對閉包的介紹和面向對象的開發(fā)思想,會使你對JS的認識又提高了一個層次,雖然對面向對象開發(fā)的講解還不夠深。

《XML開發(fā)指南》:我們知道ajax,其中X就是指的XML,所以要了解XML的相關知識,你這本書,是一定要看的。看了之后你會發(fā)現(xiàn)XML要了解的東西實在太多了,可能跟你了解的東西相比,你才知道點皮毛。對了,這里說下,我并不推薦你使用XML來作為你的Ajax的程序的數(shù)據的載體。為什么?因為很不經濟。你先把數(shù)據轉換成XML文檔,然后再通過Javascript把XML文檔中的數(shù)據提出來,把文檔轉成數(shù)據。而瀏覽器對XPath處理的兼容性的處理,你會很發(fā)狂的?,F(xiàn)在我們有一個代替他的東西JSON。但是由于XML已經是很多標準的默認數(shù)據通訊載體,比如RSS等,所以你還是得掌握。

個人覺得學Javascript看這些書基本差不多了。當然這些書也建議你看看《精通Javascript》、《PPK 談 Javascript》、《CSS高級技巧》、《Ajax in Action》、《Ajax高級編程》、《JavaScript:The Good Parts(影印版)》。

看完這些書,你了解了Javascript的相關知識,了解了CSS(你會知道CSS都有哪些選擇器),你了解了XML的知識。呵呵,基礎的開發(fā)你應該都可以自己解決了。而且你對Javascript的面向對象的開發(fā)也有了了解,有著向后兼容的開發(fā)思想。顯然你看完這些書,你對WEB標準也會有一個更深層次的理解。

當然,想成為一個優(yōu)秀的前端工程師,你要學習的知識并不只有這些,你也要知道SEO的優(yōu)化知識,因為你寫的頁面要對搜索引擎也要友好,要結構合理。你還要了解SQL和數(shù)據庫,最好還要了解C#等后臺編程的語言。兩個主要原因,要全面的提高自己,而且要充分的理解面向對象的編程,這些傳統(tǒng)語言的思想更成熟,但要知道Javascript跟這些傳統(tǒng)的編程語言的繼承機制是不一樣的。所以不要用Javascript來寫C#。還有一個重要的原因,你要跟后臺的程序員合作,要他們更堅決的執(zhí)行你的不唐突的開發(fā)思想,你必須要經常給他們洗腦。但是你說的話要讓他們聽得進去,他說的東西你要了解,而你最好也能給他一些有好的建議,他們才會聽你的。為了我們WEB標準的開展,辛苦點就辛苦點吧!

這里要補充的就是,前端開發(fā)你要自己努力學習還有JSON和正則表達式,目前還沒有很詳細的介紹正則的書,然后就是AJAX程序中取代XML的JSON的數(shù)據載體,掌握JSON要比XML容易得多。最后就是大家也是我提到過很多次的閉包的使用,面向對象的開發(fā)的思想。

呵呵,最后就是多練習,把你學到知識運用到實際的開發(fā)中,常跟朋友多交流,我也希望能跟大家多交流心得。大家共同進步!

相關文章

  • JavaScript操作DOM對象詳解

    JavaScript操作DOM對象詳解

    本文詳細講解了JavaScript操作DOM對象的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • JavaScript中日期的相關操作方法總結

    JavaScript中日期的相關操作方法總結

    這篇文章主要介紹了JavaScript中日期的相關操作方法總結,是JS入門學習中的基礎知識,需要的朋友可以參考下
    2015-10-10
  • NodeJS url驗證(url-valid)的使用方法

    NodeJS url驗證(url-valid)的使用方法

    本文主要介紹了NodeJS url驗證(url-valid)模塊的使用方法,最后提供了實例代碼供大家參考
    2013-11-11
  • js 頁面輸出值

    js 頁面輸出值

    下面的方法是常用的向html頁面中輸入值,一般是將要輸出的內容放到別的js文件中,調用。這里只是測試。
    2008-11-11
  • Javascript之Date對象詳解

    Javascript之Date對象詳解

    本文主要介紹javascript中的Date對象的用法,講解的很詳細,希望能給大家做一個參考。
    2016-06-06
  • javascript學習筆記(十) js對象 繼承

    javascript學習筆記(十) js對象 繼承

    javascript學習筆記之js對象 繼承介紹,需要的朋友可以參考下
    2012-06-06
  • js關閉子窗體刷新父窗體實現(xiàn)方法

    js關閉子窗體刷新父窗體實現(xiàn)方法

    本文將詳細介紹js關閉子窗體刷新父窗體實現(xiàn)方法,需要了解的朋友可以參考下
    2012-12-12
  • JavaScript 基礎函數(shù)_深入剖析變量和作用域

    JavaScript 基礎函數(shù)_深入剖析變量和作用域

    下面小編就為大家?guī)硪黄狫avaScript 基礎函數(shù)_深入剖析變量和作用域。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 10分鐘掌握XML、JSON及其解析

    10分鐘掌握XML、JSON及其解析

    最近一段時間,個人綜合了之前對XML、JSON的一些了解,參考了相關資料,再結合視頻的代碼,把自己的一些思考融入了這篇總結文檔中,同時嘗試用通俗詼諧的語言風格來闡述,期望能給感興趣的讀者帶來幫助
    2016-10-10
  • offsetParent 算法分析

    offsetParent 算法分析

    以下部分內容翻譯自 W3C 的 CSSOM View Module,W3C 工作草案 2008年2月22日。
    2010-04-04

最新評論

淅川县| 义乌市| 文安县| 丹巴县| 三门县| 尤溪县| 清苑县| 华池县| 五家渠市| 长泰县| 新竹县| 丹巴县| 黔南| 沈丘县| 常德市| 沁源县| 庆云县| 秦安县| 珠海市| 平塘县| 页游| 武山县| 晋中市| 辽阳县| 休宁县| 阜阳市| 鄂托克旗| 龙陵县| 普格县| 咸丰县| 黑河市| 错那县| 井冈山市| 太原市| 呼和浩特市| 丹寨县| 锦屏县| 辛集市| 宜昌市| 扎囊县| 乳源|