說說掌握J(rèn)avaScript語言的思想前提想學(xué)習(xí)js的朋友可以看看
更新時(shí)間:2009年04月01日 01:01:36 作者:
無論是公司的同事還是外界的程序員朋友們,大部分人對JavaScript的高級應(yīng)用不甚了解,已有的知識(shí)架構(gòu)里會(huì)認(rèn)為JavaScript僅僅是一門腳本語言,其作用是給頁面做一些錦上添花的效果,比如表單驗(yàn)證等等。
潛意識(shí)里也就不會(huì)用面向?qū)ο蟮乃枷肴ゾ帉慗avaScript代碼,也很少會(huì)去深入了解prototype, closures等概念。這導(dǎo)致書寫的代碼經(jīng)常很糟糕。
對于JavaScript的學(xué)習(xí),可能最重要的還是要從思想上認(rèn)識(shí)到JavaScript不是玩具語言。JavaScript的作用遠(yuǎn)不止增加點(diǎn)表單驗(yàn)證,我們可以看看GMail、看看Google Maps,如果開發(fā)者們沒有對JavaScript足夠尊敬,是不大可能寫出如此優(yōu)秀的Web應(yīng)用的。
JavaScript門檻很低,但門檻低并不意味著容易掌握。一定程度上,JavaScript的入門容易以及其極大的靈活性,使得要掌握 JavaScript變得很難。從純語言上講,我個(gè)人的經(jīng)驗(yàn)是,學(xué)習(xí) JavaScript比學(xué)習(xí)Java更具挑戰(zhàn)性。我們大多習(xí)慣了傳統(tǒng)的面向?qū)ο蟊硎龇绞剑欢ǔ潭壬仙踔習(xí)J(rèn)為類、封裝、繼承等概念都得像Java、 C++那樣,可能都從來沒想過沒有class, extend, override等概念也能面向?qū)ο?。JavaScript的面向?qū)ο蟠蚱屏诉@種思想上的禁錮:世界是多樣性的,條條大路通羅馬??鋸堃稽c(diǎn)說,深入學(xué)習(xí) JavaScript,更多的是一種思想上的挑戰(zhàn),能活躍思路,擴(kuò)大視野,甚至改變對世界的看法。
上面所說的這些,無意于夸大JavaScript的作用和難度。每個(gè)人都或多或少的會(huì)強(qiáng)調(diào)自己所學(xué)的知識(shí),但在這里,我希望自己能很客觀的傳遞一個(gè)觀點(diǎn):無論什么語言,想要精通,都很不容易;如果想學(xué)習(xí)某門語言,就得從思想上尊敬這門語言,在尊敬的基礎(chǔ)上去學(xué)習(xí),才有可能掌握這門語言的精髓。除了JavaScript,再舉個(gè)HTML的例子:
經(jīng)常能聽到這樣的話:HTML多容易,花個(gè)一兩天也就會(huì)了。我自己也曾這么認(rèn)為。但隨著使用HTML經(jīng)驗(yàn)的增長,慢慢感覺到, 對于Web前端開發(fā)來說,HTML可以說是最難的。HTML4.01規(guī)范中的91個(gè)元素就如漢字里的2500個(gè)常用字一樣,我們讀完小學(xué)后對常用字應(yīng)該就都認(rèn)識(shí)了,但要用漢字寫篇優(yōu)秀的文章,卻并不容易。HTML也是這樣,大部分宣稱HTML很容易的開發(fā)者,往往只停留在認(rèn)識(shí)body, p, form, table, div, ul等標(biāo)簽上,對于dl, legend, sub, caption等并非生僻的標(biāo)簽甚至都不認(rèn)識(shí)。在常用字還認(rèn)不全的情況下,宣稱HTML很容易,真的很狂妄。(HTML的難度在于如何利用標(biāo)簽構(gòu)建出結(jié)構(gòu) 良好且富含語義的代碼,就如寫作文一樣,不能認(rèn)為認(rèn)識(shí)幾個(gè)字就自信能妙筆生花。)
總之,語言無貴賤難易,要從思想上尊敬重視一門語言,才有可能駕馭它,否則,將永遠(yuǎn)游離在專業(yè)程序員的寶殿之外。
對于JavaScript的學(xué)習(xí),可能最重要的還是要從思想上認(rèn)識(shí)到JavaScript不是玩具語言。JavaScript的作用遠(yuǎn)不止增加點(diǎn)表單驗(yàn)證,我們可以看看GMail、看看Google Maps,如果開發(fā)者們沒有對JavaScript足夠尊敬,是不大可能寫出如此優(yōu)秀的Web應(yīng)用的。
JavaScript門檻很低,但門檻低并不意味著容易掌握。一定程度上,JavaScript的入門容易以及其極大的靈活性,使得要掌握 JavaScript變得很難。從純語言上講,我個(gè)人的經(jīng)驗(yàn)是,學(xué)習(xí) JavaScript比學(xué)習(xí)Java更具挑戰(zhàn)性。我們大多習(xí)慣了傳統(tǒng)的面向?qū)ο蟊硎龇绞剑欢ǔ潭壬仙踔習(xí)J(rèn)為類、封裝、繼承等概念都得像Java、 C++那樣,可能都從來沒想過沒有class, extend, override等概念也能面向?qū)ο?。JavaScript的面向?qū)ο蟠蚱屏诉@種思想上的禁錮:世界是多樣性的,條條大路通羅馬??鋸堃稽c(diǎn)說,深入學(xué)習(xí) JavaScript,更多的是一種思想上的挑戰(zhàn),能活躍思路,擴(kuò)大視野,甚至改變對世界的看法。
上面所說的這些,無意于夸大JavaScript的作用和難度。每個(gè)人都或多或少的會(huì)強(qiáng)調(diào)自己所學(xué)的知識(shí),但在這里,我希望自己能很客觀的傳遞一個(gè)觀點(diǎn):無論什么語言,想要精通,都很不容易;如果想學(xué)習(xí)某門語言,就得從思想上尊敬這門語言,在尊敬的基礎(chǔ)上去學(xué)習(xí),才有可能掌握這門語言的精髓。除了JavaScript,再舉個(gè)HTML的例子:
經(jīng)常能聽到這樣的話:HTML多容易,花個(gè)一兩天也就會(huì)了。我自己也曾這么認(rèn)為。但隨著使用HTML經(jīng)驗(yàn)的增長,慢慢感覺到, 對于Web前端開發(fā)來說,HTML可以說是最難的。HTML4.01規(guī)范中的91個(gè)元素就如漢字里的2500個(gè)常用字一樣,我們讀完小學(xué)后對常用字應(yīng)該就都認(rèn)識(shí)了,但要用漢字寫篇優(yōu)秀的文章,卻并不容易。HTML也是這樣,大部分宣稱HTML很容易的開發(fā)者,往往只停留在認(rèn)識(shí)body, p, form, table, div, ul等標(biāo)簽上,對于dl, legend, sub, caption等并非生僻的標(biāo)簽甚至都不認(rèn)識(shí)。在常用字還認(rèn)不全的情況下,宣稱HTML很容易,真的很狂妄。(HTML的難度在于如何利用標(biāo)簽構(gòu)建出結(jié)構(gòu) 良好且富含語義的代碼,就如寫作文一樣,不能認(rèn)為認(rèn)識(shí)幾個(gè)字就自信能妙筆生花。)
總之,語言無貴賤難易,要從思想上尊敬重視一門語言,才有可能駕馭它,否則,將永遠(yuǎn)游離在專業(yè)程序員的寶殿之外。
相關(guān)文章
用Object.prototype.toString.call(obj)檢測對象類型原因分析
在本篇文章里我們給大家剖析了用Object.prototype.toString.call(obj)檢測對象類型的原因,需要的朋友們可以學(xué)習(xí)下。2018-10-10
網(wǎng)頁編輯器ckeditor和ckfinder配置步驟分享
ckeditor+ckfinder配置用法,現(xiàn)在ckeditor是互聯(lián)網(wǎng)上應(yīng)用比較廣泛的網(wǎng)頁編輯器了,這里介紹下配置方法,需要的朋友可以參考下2012-05-05
Javascript學(xué)習(xí)筆記9 prototype封裝繼承
在上文中,我利用prototype的原理做了一個(gè)封裝的New,然后我就想到,我是否可以用prototype的原理進(jìn)一步封裝面向?qū)ο蟮囊恍┗咎卣髂??比如繼承。2010-01-01
有關(guān)于JS構(gòu)造函數(shù)的重載和工廠方法
有關(guān)于JS構(gòu)造函數(shù)的重載和工廠方法,對此有需要的朋友,參考一下。2013-04-04
全面了解JavaScirpt 的垃圾(garbage collection)回收機(jī)制
下面小編就為大家?guī)硪黄媪私釰avaScirpt 的垃圾(garbage collection)回收機(jī)制。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07

