JavaScript的目的分析
2024-09-06 12:43:58
供稿:網(wǎng)友
從今天起,我將陸續(xù)將 ppk on JavaScript 的讀書心得發(fā)布到這個(gè)blog上。ppk是我所景仰的一位web開發(fā)者,原因無它,只是因?yàn)樽鳛橐粋€(gè)JavaScript的開發(fā)者來說,他涉及的領(lǐng)域包括web標(biāo)準(zhǔn),可用性,無障礙等,正是其他開發(fā)者所不關(guān)注或者故意忽略的。并且,他寫了很多案例測(cè)試不同的瀏覽器,總結(jié)出JavaScript的接口(API)兼容性,成為JavaScript開發(fā)者重要參考資料,幾年如一日,這種鉆研精神是很多人所缺乏的。
ppk在今年9月出版了他的書,我從去年起就在等的書。今天拿到手,迫不及待地把第一章閱讀完畢。果然讓人充滿驚喜,他的功力非同一般。雖然只是一個(gè)初學(xué)者,但我認(rèn)為我已經(jīng)走在正確的學(xué)習(xí)道路上。我想,我若能將學(xué)習(xí)心得分享,能讓正在學(xué)習(xí)的人看到,可以一起交流一起進(jìn)步,盡管我不敢確保你能從我這里得到什么啟發(fā),但我可以確信,我這些筆記會(huì)比你拷貝粘貼代碼的學(xué)習(xí)方式更正確。
這本書有十章,章名都簡(jiǎn)潔明了,分別是:目的,背景,瀏覽器,準(zhǔn)備,核心,BOM, 事件,DOM, CSS更改和數(shù)據(jù)獲取。從來沒有一本書能如此簡(jiǎn)潔地明確JavaScript的方方面面,因此學(xué)習(xí)不會(huì)有太大負(fù)擔(dān)。前言不宜過多,下面就開始我的第一章學(xué)習(xí)筆記。
開篇宗義:JavaScript的目的是,為網(wǎng)頁增加特別的一層可用性。聽起來很簡(jiǎn)單,但這條黃金定律經(jīng)常被人誤解。就算編寫有用的JavaScript, 開發(fā)者可能還是沒能結(jié)合適當(dāng)?shù)那榫埃篧eb標(biāo)準(zhǔn)運(yùn)動(dòng)發(fā)展下,與當(dāng)代無障礙的HTML頁面的配合。更為不妙的是,有些開發(fā)者不是為網(wǎng)頁增加一層可用性,而是用整層取代之,后果是,如果瀏覽器不支持JavaScript, 網(wǎng)站就完了。
概念概述
JavaScript是一門由瀏覽器解釋的腳本語言。它通過在客戶端而不是服務(wù)器端處理某些交互,比如表單驗(yàn)證,創(chuàng)建新菜單來給網(wǎng)站增添可用性。傳統(tǒng)的網(wǎng)頁交互是,客戶端的一舉一動(dòng)都必須經(jīng)過服務(wù)器端的出來才能反饋回來,漫長(zhǎng)的等待會(huì)讓用戶崩潰。而JavaScript可以在客戶端代替服務(wù)器端做某些事情(最明顯的,表單驗(yàn)證),從而提高用戶體驗(yàn)。
隨著時(shí)代的發(fā)展,JavaScript能夠處理越來越多的交互。問題出現(xiàn)了,JavaScript能做這么多事情,到底要多用還是少用?這就有了富與瘦的對(duì)決。是整個(gè)頁面都用JavaScript來控制交互還是只增加些許的JavaScript來增強(qiáng)可用性?就是說,盡可能地使用JavaScript還是有所節(jié)制,甚至不用?
瘦客戶端很大程度上依賴于客戶端-服務(wù)器的通訊,而富客戶端盡可能限制額外的數(shù)據(jù)通訊。
哪種方式更好?盡管富客戶端帶來一些可用性益處,但瘦客戶端可能是更“標(biāo)準(zhǔn)”的JavaScript用法。Web被認(rèn)為是文檔集合,而不是界面集合。最明顯的證據(jù)是,瀏覽器有后退前進(jìn)的功能讓你在文檔中跳轉(zhuǎn)而界面會(huì)有么?瀏覽器可以收藏(書簽)文檔而界面可以么?從無障礙來說,瘦客戶端也更少出錯(cuò)。