Object Oriented Javascript

Object Oriented JavaScript

本書評由othree 評論於2009/03/29 ,評分為4.5分(滿分5分) ,採創用 CC 姓名標示 授權條款釋出。

看書名就知道,這本書是專門在講 JavaScript 的物件導向,其實看完這本書我當下的想法是:「媽媽我不要用 JavaScript 寫物件導向程式 Q_Q。」

這本書總共有八章,我大概可以切成三段,首先是一到四章,講基礎的 JavaScript,裡面有些東西後面會用到還蠻重要的,再來是本書最重點的五六兩章,在講 prototype 和物件繼承,最後是剩下的BOM、DOM、design pattern和附錄,前後的部份我也沒看的很仔細,主要還是五六章為主。

第五章介紹 JavaScript 特有的 prototype 屬性,接著第六章就開始講解要怎樣利用 prototype 來實作物件繼承,這部份真是越看越不想用 JavaScript 來寫 OO 的程式,作者一種方法接著一種方法介紹,然後再說有什麼問題,解著介紹比較好的方法,整章看下來早就忘了已經介紹幾種方法了,就是看完這張才讓我有了上面的感想,不過用像 Base 這種已經寫好的 library 我到還可以接受啦。

總之,結論,這本在 prototype 和 JavaScript 物件繼承的部份,講的很詳細,是別本書無法取代的,如果對這部份想要深入研究的,那我會推薦來看這本,不過很多時候的 Web Develop 是用不太到這些東西的(開發 Firefox Extension 用到的機會還比較大)。


Zowie N-RF1

上個月參加 iqmore blog 的活動,我幸運的抽到這張滑鼠墊來試用,所以有了這篇文章,剛好我之前用的是EVERGLIDE TITAN(我知道很老了XD),所以就拿這張來做比較了,直接說結論,這張滑鼠墊在各方面都比TITAN好,重點特色的防水就不說了,像是移動時的阻力,鼠墊背面防滑層的效果,表現都比TITAN還好。

Zowie N-RF1

其實可以的話,考量到桌面空間,我是不希望用鼠墊的,不過一般桌面用起來都不是很好,通常是摩擦力太大,所以後來還是用起鼠墊來,在玻璃和布之間,我挑選的一直是布墊,原因有二,一是觸感比較好,二是價錢比較便宜,當然布墊沒辦法到玻璃墊那樣誇張的滑順程度,不過我覺得用起來也還算ok,也配過鐵佛龍膠布來貼鼠腳,效果當然不錯,不過磨損的實在很快,所以後來也沒繼續貼了,總之我後來換了 EVERGLIDE TITAN 後就一直用了幾年沒換,這次換用 Zowie 的RF-1 後有種科技持續在進步的感覺XD。首先感覺到的當然就是摩擦力變小了,雖然沒用多久就沒感覺了,不過在回去用 TITAN 就覺得移動困難XD,算是有明顯的差距。再來是他的滑防層,看起來摸起來都沒什麼,不過效果還真的很不錯,放在桌上,我的MX-R 壓上去,要從旁邊拉動就很困難了。

最後要說說我覺得還比較不夠的,就是要做細微控制的時候,還是很容易跑超過,這部份也可能是因為我手殘吧XD

Zowie N-RF1

Zowie N-RF1


Cross-Browser Inline Block

大約兩週前在 Mozilla Webdev Blog 上有一篇 Cross-Browser Inline-Block ,介紹如何用 inline block 代替 float 排列,好解決方塊高度不同時,float 排列會造成的問題,當然,這麼新(?)的 display 屬性,必定會有瀏覽器不支援,加上其實目前各家瀏覽器的行為表現都還不是很一致,所以整篇文章大部分的篇幅是在處理 cross browser 的問題。那時候 DK 長輩說我要是有什麼想法的話可以發一篇,那時候雖然覺得好像有什麼可以講的,不過直到昨天看了 flickr 的原始碼時才知道我想講的是什麼。

首先,其實這篇文章介紹的方法我覺得做的很好了,CSS hack的部份也還算乾淨,不過我很龜毛,覺得用到 inline 來做這種像是 block 的東西就是覺得怪怪的,昨天在看 flickr 時突然就在想:「他們是用什麼方法來排照片的?」打開原始碼一看,是 table,flickr 是用 table 來排照片的,我才回憶起之前買的 Everything You Know About CSS is Wrong 這本書,裡面主要介紹到的東西是 table-cell, table-row, ... 等表格元件的 display 屬性,又稱為 css-table,簡單說就是可以拿其他標籤來做 table,這些 display 屬性值可以讓 HTML 文件保持它比較適合的語意,但是顯示上又能夠和 table 一樣排列,雖然我在 Everything You Know About CSS is Wrong 的書評中寫到我覺得拿 css-table 來排版還是怪怪的,但是如果是拿來排照片、商品目錄這種,我就突然覺得還不錯,不過 css-table 很理所當然的和 table 一樣,一列要幾個 cell 在寫 HTML markup 階段時就要決定了,不像 float 或是 inline-block 可以透過控制長度來調整,真的達到文件結構和顯示分開的理想。

用 css-table 來排還是有它的好處,最明顯的就是同一列的 cell 高度都會一樣。想要元件高度會自動調整,然後同排的還會一樣高,目前只有用 table 的解法,不論是真的用 table 還是用 css-table,當然,盡量避免非表格資料的東西使用 table 標籤,所以比較好的處理方法還是 css-table。

兩種方法各有他的優缺點,還很難說哪種方法比較好,先不考慮 css-table 方法在舊瀏覽器的支援度問題的話,我是覺得可以用整個版面的 layout 是固定寬度還是自動寬度來決定用那個方法比較好,如果版面是固定寬度的話比較適合用 css-table,反之則是用 inline block。


更之前的文章