JavaScript分類文章 顯示方式:簡文 | 列表

2006年09月23日

從 XML 產生 JSON 資料及方法的封裝

在「JSON 速寫」中曾介紹過運用 JSON 可以輕巧地達到和 XML 同等的中介資料交換功能。然而 JSON 也和 XML 相同,它們儲存/封裝的只是資料和結構,並不包含操作方法 (method) 。雖然熟悉 JavaScript 的人知道可以直接將 method 定義在 JSON 資料中,且 JavaScript 可以接受。但 JSON 的規範並不允許這樣做,而且也只有 JavaScript 能夠理解定義在 JSON 資料中的 method ,其他程式語言並不能理解 (除非其他程式語言支持以 JavaScript 做為內嵌語言) 。

...繼續閱讀

Posted by shirock at 樂多Roodo!22:37回應(0)引用(1)

2006年09月20日

掌握 JavaScript 的「封裝」特性, part 2

javascript 封裝 OOP

續前文「掌握 JavaScript 的封裝特性, part 1」。 第一部份已經說明了 ECMAScript 封裝特性的大部份內容。大多數情形,我們都是按照第一部份的範例程式的格式撰寫。將 private member 寫在 function 定義之中,將存取 private member 的 public method 一同寫在 function 定義之中。至於其他 public member/method 則藉由 prototype property 寫在 function 定義之外 。 然而 ECMAScript 的語法提供我們更大的運用彈性。

...繼續閱讀

Posted by shirock at 樂多Roodo!11:38回應(0)引用(1)

2006年09月18日

掌握 JavaScript 的「封裝」特性, part 1

javascript 封裝 OOP

JavaScript/ECMAScript (配合 ECMAScript Language Specification - Standard ECMA-262 - 用語,以下稱 ECMAScript) 是一種個體導向程式語言 (object-oriented programming language, OOPL) ,但並不是一種基於類別的個體導向程式語言 (class-based OOPL) (ECMA-262 section 4.2 "Language Overview")。只接觸過 C++, Smalltalk, Java, C# 這些程式語言的 programmer ,一開始多少會因 ECMAScript 沒有 class, public, protoected, private 這些關鍵字而困惑。不過 ECMAScript 仍然支援繼承 (inheritance) 、封裝 (encapsulation) 、動態連結 (dynamic binding) 這三種特性。

...繼續閱讀

Posted by shirock at 樂多Roodo!23:25回應(0)引用(3)

2006年09月4日

Photo163 相冊下載工具 (PHP + JavaScript 實作版本)

非同步 thread ajax xmlhttprequest

Photo163 相冊下載工具 (photo163v2.php)。 PHP + JavaScript 實作版本。

發佈: 2006-09-04 最近更新: 2006-09-15 。修正 bug ,一個相冊中的相片,可能放在不同的 server 上,故修改 JavaScript 部份的程式,改從 gPhotosInfo[i][0] 取得 server 代號。

...繼續閱讀

Posted by shirock at 樂多Roodo!10:27引用(2)

2006年09月1日

AJAX 入門參考

在 IBM developerWorks 中,有一系列 AJAX 入門文章,短短五篇並附上詳細範例以及參考資料,抵得上坊間數百頁的書籍。我個人就是從這學 AJAX 。

...繼續閱讀

Posted by shirock at 樂多Roodo!9:52回應(2)引用(2)

2006年08月31日

JavaScript 的個體繼承之成員的配置工作

javascript 繼承

當衍生類別 (derived class) 繼承了基底類別 (base class) 的成員時,常常忘了要初始 (配置) 那些成員,亦即呼叫基底類別的建構函數。這是 OOP 初學者,也是 JavaScript programmer 在實作繼承關係時易犯的毛病。

...繼續閱讀

Posted by shirock at 樂多Roodo!10:08回應(0)引用(1)

Comment::該不該用 while 檢查 readyState

xmlhttprequest ajax 非同步 thread

在 AJAX 中,用 while 檢查 readyState 是同步模式的做法。這將使整個程式陷在 while 迴圈中,直到 readyState 的狀態符合脫離迴圈的條件為止。最明顯的缺點是頻繁地執行檢查動作,造成程式負載提高。而且這實際上就是同步模式,實作上,還不如明確指定以同步模式執行,即指定 XmlHttpRequest.open() 的第三個參數為 false ,反而較有效率。

...繼續閱讀

Posted by shirock at 樂多Roodo!6:47回應(0)引用(1)

2006年08月22日

blog 文章中的程式碼語法高亮度工具。

我常常在 blog 中張貼程式碼。無意中發現了一個可以將文章中的程式碼區塊格式化並做語法高亮度的工具。即 syntaxHighlighter 。「dp.SyntaxHighlighter is a free JavaScript tool for source code syntax highlighting.」非常適合用在 blog 中。


Posted by shirock at 樂多Roodo!21:05回應(0)引用(1)

2006年08月21日

JSON 速寫

json ajax javascript

JSON 是一種輕量級且可讀性高的資料轉換中介格式。已成為 IETF RFC4627 規範內容。

...繼續閱讀

Posted by shirock at 樂多Roodo!4:19回應(0)引用(3)

2006年07月4日

JavaScript::DOM::A bug about radio input and createElement in M$IE

dhtml dom

根據 W3C 關於 HTML DOM 的建議,我使用下例的 ECMAScript 建立 Radio input element 。使用新版瀏覽器,如 Firefox 也得到了我需要的效果。但在舊版瀏覽器,即 M$IE6 中,卻出現了錯誤。 M$IE 會建立 Radio input element ,但是卻無法選取...

...繼續閱讀

Posted by shirock at 樂多Roodo!18:08回應(0)引用(0)
 [第一頁]  [1]  [2]  [3]  [4]  [5]  [6]  [最終頁]