2016年2月23日 星期二

正視JavaScript這門技術

先談談什麼是JavaScript?

如果我們以研究的精神來看,這個問題是乎是必需要了解的事,但JavaScript一直以來也都讓大家都好像知道它是什麼,但卻又無法精準的理解。

大家可以先理解一下自己對JavaScript的了解程度,以及誤解了JavaScript又有多少。
(以下簡稱JS)

  1. JS是一種ECMAScript的體現
  2. JS是物件導向語言
  3. JS是弱型別的語言
  4. JS是直譯式語言
  5. JS可以操作DOM元件與網頁互動
以上幾點我相信從各種教科書或網站資訊都能找到更加豐富的內容,我在這也不打算詳細解說與介紹。我想特別提出來的是,大家長久以來多半很少真正了解以及用足夠的心力來撰寫JS Code,導致總有個誤解覺得JS程式碼很不精確,好像這樣寫或那樣寫應該都能執行,變數的宣告或使用方法與使用範圍也都是好像這樣寫也寫,那樣寫也不會有錯。原因無它,因為我們太常去拿現成JS Code來改一改就做好了網頁拼裝車。

JS的物件導向若有效運用,是可以依類別特性分門別類來設計與管理,然後JS最容易淪為結構化程式設計的方式進行,一開始網站小小的,就會將所有的JS全寫在同一個網頁內,或放在一整大包.js檔裡,一個一個function排排站,從滑鼠滾輪頭站到滾輪尾。

待需求增加,功能擴建,網站變的愈來愈大,大到JavaScript檔無法有組織的管理,程式碼雜亂無章,沒有人(當然一定會包含自己)願意去修改改這裡會壞那裡的義大利麵式code。

JS的物件導向語言其實是救星,但是要看撰寫的開發者有沒有心徹底的去改變與重新規劃,很多人誤以為套用了jQuery,就能讓自己的JS Code變的更專業,其實jQuery幫助你的並不是程式的規劃與設計這一部份,他只幫你解決惱人的跨平台問題,讓你有更強大方便的方式來與網頁互動,另外一大好處是你以其為基底,有更多support的元件可以擴充使用。但他絕對不會幫助你讓你的code具備良好的規劃與高維護性。

總之,程式設計的基本功,包含如何規劃你的物件導向類別,類別之間的耦合性、內聚性問題,正確的使用基本語言特性以達成高效率與低錯誤的高品質程式碼,是否能適切的引入適合的設計模式增加程式彈性與擴充性,這些和JavaScript本身的關聯性都不大。這都是開發者自己需要勤練功夫的課題。

正視JavaScript這門技術,就從基本功作起,對程式有高度的掌握能力,才能進一步寫出強大與靈活的應用,這是學習JavaScript不二法門。

沒有留言:

張貼留言