
44
|
第三章
自動產生 ID
目前在儲存資料時,都得要自行設定一組 ID,這還蠻麻煩的。不過只要加點簡單的處
理,就能讓設定 ID 的工作變得自動化。首先,我們需要一種產生 ID 的機制,像是全
域唯一識別碼(Globally Unique Identifier,GUID)產生器就是一種不錯的選擇。不過
JavaScript 在技術上沒辦法產生真正 128 位元的 GUID—它只能產生出一些類似隨機的
亂數(pseudorandom)。因為要產生真正的 GUID 非常困難,需要透過作業系統取得網
卡 MAC 位址、滑鼠游標所在位置,以及 BIOS 檢查碼(checksums)…等資訊;更專業
一點的做法,可能還得量測電子雜訊、放射性衰變…等數據! JavaScript 內建的
Math.
random()
函式,雖然只是類似隨機的亂數,但也足以滿足我們的需求。
Robert Kieffer 曾利用
Math.random()
開發出一個非常簡單的 GUID 產生器程式(
http://www.
broofa.com/2008/09/javascript-uuid-function/
)。它簡單到可以直接貼進我們的程式裡:
Math.guid = function(){
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? ...