2009年5月25日 星期一

NCAA 干擾罰球的絕招

阿薩姆奶茶煮法

1.      一茶匙的阿薩姆紅茶葉

2.      用滾開水沖泡 250CC

3.      250cc的阿薩姆紅茶再煮沸

4.      倒入250cc牛奶,再煮沸。

5.      依個人喜好加點焦糖

熱的阿薩姆奶茶 完成

 

如果要喝冰的

熱的阿薩姆奶茶 250cc 250公克的冰塊

焦糖的量要比熱的多一點

完成。

2009年5月21日 星期四

施氏食獅史

施氏食獅史」

石室詩士施氏,嗜獅,誓食十獅。施氏時時適市視獅。

十時,適十獅適市。

是時,適施氏適市。

氏視是十獅,恃矢勢,使是十獅逝世。

氏拾是十獅屍, 適石室。

石室濕,氏使侍拭石室。

石室拭,氏始試食是十獅。

食時,始識是十獅,實十石獅屍 。

試釋是事。

 

《施氏吃獅子的故事》

石室裏住着一位詩人姓施,愛吃獅子,決心要吃十隻獅子。

他常常去市場看獅子。

十點鐘,剛好有十隻獅子到了市場。

那時候,剛好施氏也到了市場。

他看見那十隻獅子,依仗弓箭的威力,把那十隻獅子殺死了。

他拾起那十隻獅子的屍體,帶到石室。

石室濕氣重,施氏叫侍從把石室擦乾。

石室擦乾了,他才試試吃那十隻獅子。

吃的時候,才發現那十隻獅子,原來是十隻石頭的獅子。

試試解釋這件事吧。

parseInt(string, radix)

http://audi.tw/Blog/JavaScript/javascript.parseInt.asp

 

眾所周知,parseInt() 是用來把字串轉換成整數的函式,一般來說,只要是數字開頭的字串,都能夠轉換成功,例如 parseInt('123a') 的結果為 123parseInt('12 34') 的結果為12

關於 parseInt() 有個著名的情況,有些人稱為臭蟲,讓各位自己來評斷。

parseInt('01') 得出的結果是1,事實上,一直到 07 為止,都能得到預期結果,問題來了,parseInt('08') parseInt('09') 這兩者運算的結果,都得到0,這是為什麼呢?

主要原因在於 parseInt() 這個函式,本身可以傳遞兩個參數,語法是:

parseInt(string, radix)

第一個參數 string 當然是要轉換為數字的字串,第二個參數 radix 則是要用二進位、還是八進位或十六進位,又或是最熟悉的十進位來解譯這個字串呢?

也就是說,如果 parseInt('FF',16),代表以 16 進位方式來解析FF這個字串,當然得到的結果就是 255 了,同理,parseInt('FF',10) 10 進位來解析FF這個字串,根本就不是數字,所以得到的結果會是 NaN

但大多數人不會特別指定第二個參數,這時 JavaScript 就自動判斷第一個傳遞的參數是否為某種數字型式。

JavaScript 眼中,以 0x 開頭的字串,都視為十六進位字串,如果單單是0開頭,第二個字母不是 x,則視為八進位或二進位字串,十六進位使用的字母計有 0-9A-F,而八進位使用的字母則為 0-7,所以,當發生parseInt('08') 又未指定以何種數值型態解析時,JavaScript 0 為起頭,接下來的字母又不是 x,那一定是八進位了,但是,八進位裡,怎麼可能有 8 9 這兩個字母呢?所以,一定是不合法的字串,於是就傳回 0

同理,parseInt('010') 回傳的值,也不是 10,而是 8,因為 parseInt() 認為 0 開頭,接下來的字母不是 x,而是 1,就以二進位來解析 010 這個字串,所以一切問題都在於以 0 開頭,所造成的誤會。

最好的解決辦法,就是別偷懶,把第二個參數也加進去,例如 parseInt('08',10)parseInt('010',10),那就萬無一失了!

 

javascript 的 innerText 與 textContent

現今的網路世界有多種瀏覽器:Microsoft 出版的 Internet Explorer(ie),自由軟體組織出版的 Firefox(ff),蘋果電腦出版的 Safari,還有 Google 也出版了 chrome 瀏覽器。雖然 javascript 有一個標準組織在維護其標準,可是廠商在發展瀏覽器時都有一些差異,因此在撰寫 javascript 程式時必須考量這些不同。

此處要談的就是 javascript 在處理物件的內文時,其屬性名稱在 ie 是用 innerText,在 ff 是用 textContent,而 safari 及 chrome 可以使用 innerText 與 textContent。如下表:

屬性名稱ie 8ff 3.0.1Safari 3.1.2chrome 0.2.149.30
innerText可用未定義可用可用
textContent未定義可用可用可用


所以撰寫程式時必須先作檢查,然後使用正確的屬性名稱。下面這段簡單的程式就可以讓你的 javascript 在不同的瀏覽器上正確執行。

var s='Hello world';
var obj=document.getElementById('text');
if(obj.textContent != undefined)
obj.textContent=s;
else
obj.innerText=s;

執行結果:

Hello world

2009年5月2日 星期六

Domain Know How

最近對這個詞有一些想法
Domain Know How
你的Domain是什麼?
你又Know了什麼?
當別人問你說你的專長是什麼?這很難回答?
你說你會寫程式. 在以前我會覺得寫程式是專長,
但是 那太空泛了,程式只不過是工具,是實現你的Domain Know How 的工具。
仔細去想想,每天都在寫程式,似乎沒有發展出自己的Domain Know How。
是該好好的想想了。