Time of Update: 2014-04-10
效果示範 小寫金額: 大寫金額: 程式碼 function convertCurrency(currencyDigits) {// Constants:var MAXIMUM_NUMBER = 99999999999.99;// Predefine the radix characters and currency symbols for output:var CN_ZERO = "零";var CN_ONE = "壹";var CN_TWO = "貳";var
Time of Update: 2014-04-10
JSON,後XML時代的產物,在XML被大家廣泛接受的時候,人們開始注意到XML的冗餘資料了,所以有人就在想一些XML的變種,什麼BinaryXML之類的,JSON差不多就在這個年代出生了。 我們先看一個XML: <request> <firstName>Brett</firstName> <lastName>McLaughlin</lastName>
Time of Update: 2014-04-10
在使用JSON的時候,有些特殊字元會讓我們等不到預期的結果。下面的過濾方法用的是Discuz中的過濾方法,可以很好地幫我們解決這一問題。先是處理這問題的js代碼,再附上前端使用代碼。 /// <summary>/// 載入事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Page_Load(object sender,
Time of Update: 2014-04-10
對於熟悉 C/C++ 或 Java 語言的工程師來說,JavaScript 顯得靈活,簡單易懂,對代碼的格式的要求也相對鬆散。很容易學習,並運用到自己的代碼中。也正因為這樣,JavaScript 的編碼規範也往往被輕視,開發過程中修修補補,最終也就演變成為後續維護人員的惡夢。軟體存在的長期價值直接與編碼的品質成比例。編碼規範能協助我們降低編程中不必要的麻煩。而 JavaScript 代碼是直接發送給客戶瀏覽器的,直接與客戶見面,編碼的品質更應該受到關注。 本文淺談 JavaScript
Time of Update: 2014-04-10
字串截取 JavaScript提供兩個截取字串的方法,分別是slice()和substring()。 slice和substring都可以接受一個或兩個參數,第1個參數是擷取要截取的字串的起始位置,第2個參數如果不為空白則是擷取要截取的字串的結束位置的前一位(也就是說擷取的終點位置不在傳回值內),為空白表示截取到整個字串的最後一個字元。 我們來看下兩種方法的用法。注意:字串的位元都是從0開始: <script
Time of Update: 2014-04-10
JSON 是適用於 Ajax 應用程式的一種有效格式,原因是它使 JavaScript 對象和字串值之間得以快速轉換。由於 Ajax 應用程式非常適合將純文字發送給伺服器端程式並對應地接收純文字,相比不能產生文本的 API,能產生文本的 API 自然更可取;而且,JSON 讓您能夠處理本地 JavaScript 對象,而無需為如何表示這些對象多費心思。XML 也可以提供文本方面的類似益處,但用於將 JavaScript 對象轉換成 XML 的幾個現有 API 沒有 JSON API 成熟;有時,
Time of Update: 2014-04-10
如果你有使用WebQQ,你也許會發現,每次收到資訊的時候,就會看到title提示哪個網友或群來資訊,然後網頁的title就會開始飄動,挺人性化,蠻有意思的。而這個效果其實也不難,這裡實現了這個效果,示範可以參看本頁的title。下面給出JavaScript的實現代碼,附上注釋,應該很好懂的。JavaScript Code:<script type="text/javascript"> var dir = "left"; function scroll() {//
Time of Update: 2014-04-10
在Web開發時,有可能會遇到這麼一種情況:我們需要通過一個js檔案中引用另一個js檔案中的函數,可是另一個函數有沒有辦法在頁面中通過該<script>標籤載入。於是,我們有了通過js動態載入js檔案的需求。下面提供一種方案。方法比較簡單,具體執行個體詳見代碼:檔案1:demo.jsfunction demo(){alert("demo");}檔案2:test.jsfunction test(){alert("test");} function loadDemo(){var iHead =
Time of Update: 2014-04-10
Javascript中可以使用new操作符來建立一個對象,那麼系統是如何使用new操作符來建立對象的呢?我們來看下流程: 首先需要定義一個類。 使用new操作符緊跟你所定義的函數來建立一個新的類的執行個體。
Time of Update: 2014-04-10
在IE6、IE7中,我們可以使用 document.frames[ID].document 來訪問iframe子視窗中的document對象,可是這是不符合W3C標準的寫法,也是IE下專屬的方法,在Firefox下卻不可以使用,Firefox下使用的是符合W3C標準的 document.getElementById(ID).contentDocument 方法,今天我在寫執行個體的時候,通過IE8進行測試,IE8也是使用的符合W3C標準的 document.getElementById(ID).
Time of Update: 2014-04-10
寫此文目的是為了讓更多的程式員理解javascript的一些概念,對,是理解,而不是瞭解。我們已經瞭解得夠多了,該是向深入理解的方向靠攏的時候了。 為什麼這麼說,前些日子收到面試邀請,那就去試試唄,有幾年沒有面試過了吧。和面試官坐在沙發上,聊天式的他問我答,以下就是幾個javascript方面的問題: 請建立一個對象,包括幾個公有屬性,接下來是為對象建立一個公有方法,然後為對象建立幾個私人屬性,一個私人方法。
Time of Update: 2014-04-10
下面的JavaScript色彩選擇工具可以方便網頁設計取色,同時也可以看一下,網上常見的色彩選擇工具是如何?的。這裡只給出了核心的JavaScript代碼,其它部分比如CSS可以參照本頁的原始碼。 JavaScript Code <script type="text/javascript">// <![CDATA[function selectColor(o) {o.style.backgroundColor =
Time of Update: 2014-04-10
特性檢測而非瀏覽器檢測 因為某某特性某瀏覽器不支援,我們經常的做法是在代碼中直接先做瀏覽器判斷如: if(Broswer.isFirfox){//do something} 其實這樣做是不科學的,因為很可以其它瀏覽器上可以支援你要用的特性,所以,比較好的做法為是直接做特性判斷。如: if(window.localStorage){//使用本機存放區功能 } 使用方括弧來訪問屬性或方法
Time of Update: 2014-04-10
使用 Cookies 我們已經知道,在 document 對象中有一個 cookie 屬性。但是 Cookie 又是什嗎?"某些 Web 網站在您的硬碟上用很小的文字檔儲存了一些資訊,這些檔案就稱為 Cookie。"—— MSIE 協助。一般來說,Cookies 是 CGI 或類似,比 HTML 進階的檔案、程式等建立的,但是 JavaScript 也提供了對 Cookies 的很全面的訪問權利。 在繼續之前,我們先要學一學 Cookie 的基本知識。 每個
Time of Update: 2014-04-10
Regex用於字串處理,表單驗證等場合,實用高效,但用到時總是不太把握,以致往往要上網查一番。我將一些常用的運算式收藏在這裡,作備忘之用。 匹配中文字元的Regex: [\u4e00-\u9fa5] 匹配雙位元組字元(包括漢字在內): [^\x00-\xff]應用:計算字串的長度(一個雙位元組字元長度計2,ASCII字元計1) String.prototype.len=function(){ return
Time of Update: 2014-04-10
反射機制指的是程式在運行時能夠擷取自身的資訊。例如一個對象能夠在運行時知道自己有哪些方法和屬性。在JavaScript中有一個很方便的文法來實現反射,即for(…in…)語句,其文法如下:for(var p in obj){ //語句} 這裡var p表示聲明的一個變數,用以儲存物件obj的屬性(方法)名稱,有了對象名和屬性(方法)名,就可以使用方括弧文法來調用一個對象的屬性(方法): for(var p in
Time of Update: 2014-04-10
在JavaScript中,時間處理是經常需要用到的。最近想要慢慢建立自己的程式碼程式庫,整理了幾個之前用到的js處理時間的函數,發出來跟大家分享一下,以後的使用中會不斷增加和修改程式碼程式庫。 把字串轉換為日期對象 有時需要把字串轉換為日期對象,但是IE下不支援new
Time of Update: 2014-04-10
優秀的Stoyan Stefanov在他的新書中(《Javascript Patterns》)介紹了很多編寫高品質代碼的技巧,比如避免使用全域變數,使用單一的var關鍵字,迴圈式預存長度等等。 這篇文章不僅僅從代碼本身來考慮如何最佳化編碼,也從代碼的設計階段來考慮,包括書寫API文檔,同事的review,使用JSLint。這些習慣都能協助你編寫更加高品質的、更易於理解的、可維護的代碼(讓你的代碼在多年之後仍使你引以為傲)。 編寫可維護的代碼
Time of Update: 2014-04-10
最簡單的莫過於使用click方法:<input id="btn" type="button" value="BUTTON" onclick="alert(1)"/><script>var btn = document.getElementById('btn');btn.click();</script> 所有瀏覽器都彈出了1。但是如果把input換成div呢?<div id="d1" style="background:gold;width:50px;height:
Time of Update: 2014-04-10
在dom操作時,有時根據id擷取單個對象、有時根據className擷取多個對象。平常可能我們用兩個函數來實現這兩個功能。不過我將它們整合了一下,目前使用方式良好,函數如下:// 根據selector擷取單個或多個元素,// 擷取多個元素時,可以指定元素的tag類型和父元素function $(selector, tag, parent) { var ret = []; //沒有傳遞selector,返回空 if (!selector) { return null; }