推 tomap41017:推!很好的整理 02/18 20:21
我覺得學習 JavaScript最大的問題應該是散落的標準與殘缺的瀏覽器實作。
先把學習 JavaScript分成兩個部份:
1. JavaScript這個程式語言本身的標準(定義),例如:變數型態、運算符、邏輯控制…
http://www.ecma-international.org/publications/standards/Ecma-262-arch.htm
可以看到標準不停的更動,最新的是 ECMA-262 5th edition, JavaScript 1.8(?)
但是標準歸標準,實作歸實作,瀏覽器支援的速度沒那麼快。
瀏覽器普遍支援的應該還是 ECMA-262 3rd edition, JavaScript 1.5
(December 1999... Orz,要試新標準的話,用 chrome瀏覽器會順利一點。)
2. 跟瀏覽器相關的 JavaScript標準
這個就複雜多了:http://www.w3.org/TR/
dom 只是其中之一:http://www.w3.org/DOM/Activity
另一個想提的是 event:http://www.w3.org/TR/DOM-Level-2-Events/events.html
定義了所有 event, 每個 event觸發時 event object應該要有哪些值,
(看完眼都花了,瀏覽器實作的時候東漏一個,西缺一塊,感覺也很符合人性……)
一樣的問題:標準歸標準,實作歸實作。
這部分能遇到的問題應該會相當豐富多元…遇到再來解吧。
=======================================================
到這裡,可以看出來 jQuery是處理 2.的部分。
直接學怎麼用 jQuery...也許短期可以搞定工作會遇到的問題,
但 jQuery只是 JavaScript在瀏覽器上的衍生產品,
瀏覽器外的 JavaScript是沒有 jQuery可以用的…也不需要。
如果要看 jQuery是怎麼讓不支援標準的瀏覽器用起來像是有支援,
必需先搞懂 1.的部分。
=======================================================
就我自己的經驗,
學 JavaScript是從 2.的部分開始,
onclick="btnClick(this)", form.submit(), alert, confirm....
簡單、能動。
剪剪貼貼膩了,開始想讓程式好維護一點,漸漸深入瀏覽器相關的 JavaScript標準。
程式有關 JavaScript的架構變大之後,常常因為沒搞懂 JavaScript本身的標準而寫錯,
才開始看 JavaScript這個語言的內涵…
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.140.248