Time of Update: 2013-10-16
以前的程式: 複製代碼 代碼如下: ViewData["msg"] = "{result:true,FileName:\"" + new FileInfo(Request.Files[0].FileName).Name + "\",FileUrl:\"" + fileurl.Replace("\"", "") + "\"}"; 重構之後的程式: 複製代碼 代碼如下: JsonResult j = Json(new { Result = true, FileName = new
Time of Update: 2013-10-16
函數副作用會給程式設計帶來不必要的麻煩,給程式帶來十分難以尋找的錯誤,並且降低程式的可讀性。嚴格的函數式語言要求函數必須無副作用。 函數的副作用相關的幾個概念, Pure Function、 Impure Function、 Referential Transparent。 純函數 ( Pure Function ) 輸入輸出資料流全是顯式(Explicit)的。
Time of Update: 2013-10-16
今天學的一點小東西和大家分享一下。 類似TreeMenu控制項. 不廢話直接代碼: 複製代碼 代碼如下: <script language="javascript"> function control() {//定義函數 if (sMenus3.innerHTML == "+") {//判斷展開狀態 ulMenu3.style.display = "block";//如果是“+”號 則可以展開 sMenus3.innerText = "-";//展開之後顯示為減號 } else {
Time of Update: 2013-10-16
今天是最後一個部分,介紹不使用建構函式實現"繼承"。 一、什麼是"非建構函式"的繼承? 比如,現在有一個對象,叫做"中國人"。 複製代碼 代碼如下: var Chinese = { nation:'中國' }; 還有一個對象,叫做"醫生"。 複製代碼 代碼如下: var Doctor ={ career:'醫生' } 請問怎樣才能讓"醫生"去繼承"中國人",也就是說,我怎樣才能產生一個"中國醫生"的對象?
Time of Update: 2013-10-16
複製代碼 代碼如下: /* * 從新浪微博上抄的 * */ var getLength = (function(){ var trim = function(h) { try { return h.replace(/^\s+|\s+$/g, "") } catch(j) { return h } } var byteLength = function(b) { if (typeof b == "undefined") { return 0 } var a =
Time of Update: 2013-10-16
首先看一下運行效果如所示。 滑鼠移到星星上該星星前面的所有星星全部變亮,按一下滑鼠將記錄點擊的星星數,前面的所有星星將變亮。一、原理 本程式的原理是這樣的:一個“ul”標籤,該標籤的背景為灰色的星星,控制“ul”標籤的寬度顯示星星的數量。例如:一個星星圖片的寬度為23px,那麼要顯示10個星星,則“ul”的寬度為230px就可以顯示10個星星。
Time of Update: 2013-10-16
示範地址: http://demo.jb51.net/js/2011/js_select/index.htm資料 複製代碼 代碼如下: var data=[ {id:1,name:"前端開發",pid:0}, {id:2,name:"CSS",pid:1}, {id:3,name:"JS",pid:1}, {id:4,name:"HTML",pid:1}, {id:5,name:"資料庫",pid:0}, {id:6,name:"SQLServer",pid:5},
Time of Update: 2013-10-16
複製代碼 代碼如下: console.log('----1----') console.log('12' + '34')//'1234' console.log('12' + 34 )//'1234' console.log(12 + '34')//'1234' console.log(12 + 34 )//46 console.log('----2----') console.log(+'12' + '34')//'1234' console.log(+'12' + 34 )//46
Time of Update: 2013-10-16
複製代碼 代碼如下: /* * 包含jquery-1.3.2.min.js */ document.write("<script language='javascript' src='js/jquery-1.3.2.min.js'></script>"); /* * 公用參數 */ var hostUrl='http://'+window.location.host; //擷取網站主機頭 /* * 水平置中left值 */ function HorCenter(x){
Time of Update: 2013-10-16
運行效果後,點擊菜單,會彈出一個註冊表單,類似於很多論壇的使用者註冊及登入功能那樣,目前還是挺流行的。 彈出層 姓名: * 您的真實姓名 電話: * 請填寫您的電話號碼 地址: * 請填寫您的地址,以保證資料郵遞 郵箱: * 請填寫電子郵箱 內容
Time of Update: 2013-10-16
下邊是我自己寫的一個類,類中有欄位、方法 複製代碼 代碼如下: //建構函式 function Person(name,sex,age) { this.name = name; this.sex = sex; this.age = age; }; Person.prototype.getName = function () { return this.name; }; Person.prototype.getSex=function(){ return this.sex; };
Time of Update: 2013-10-16
插圖:在支援Html5瀏覽器下觀看會有更加體驗 其中IE9以下版本使用濾鏡類比了一個陰影,刪掉此處內容,IE下運行會更加平滑(至少我的老爺機運行更平滑了。) 第一步插圖: 啟動函數需要傳回值,在這個啟動函數裡面你可以為所欲為,但是在你壞事做完之後必須返回一個值, 被發現,那你就得停下來等待處理結果,那麼就返回false,無法繼續執行, 沒有被發現那就趕緊的離開這裡,返回true,繼續執行到下一步!
Time of Update: 2013-10-16
於是在之前的開發之中慢慢開始總結,也寫了一些零散的方法想要比較簡單的,寫更少的代碼來完成更多的驗證。之前採用的思路是傳遞參數,將要驗證的控制項的ID傳進去,若是要驗證資料格式再傳入相應的Regex進去。項目結束之後,再對整個項目做總結的時候發現,這種寫法也並沒有節省多少代碼量,而且很多地方因為同學反應說我寫的那個庫並不是很好用,雖然有說明,但他們也還是不能很好的理解,不能很快就上手,而且應該還是有不少BUG,所以很多地方他們還是寧願用那種對每個控制項去一一驗證的方式,一個JS檔案中光驗證的部分就
Time of Update: 2013-10-16
例子1: 複製代碼 代碼如下: var obj={0:'a',1:'b'} alert(obj.length); //undefined var arr=['a','b'] alert(arr.length); // 2 從上面的例子看,類數組對象中的length屬性並不和它儲存的資料數量直接掛鈎,無論是索引屬性(0,1)還是length屬性都作為對象的普通屬性存在,它們之間並沒有任何關係,js引擎並不會根據儲存資料的數量來自動計算類數組對象的長度。
Time of Update: 2013-10-16
ajaxvalidator是大家問的最多的問題,修正一個bug(感謝網友“じ龍峸√”),並把大家最關心的問題,再做一次闡述。 bug現象:無論校正有沒有校正通過,當控制項再次得到焦點而再次失去焦點的時候tip裡的提示就會停滯在得到焦點的提示 曆次升級的相關記錄: a、為AjaxValidator添加一個addidvalue屬性(是否自動添加id和值到url參數後面)
Time of Update: 2013-10-16
複製代碼 代碼如下: <body> <textarea></textarea> hello <script> window.onblur=function(){ document.title= 'blur:' + Math.random() ; } window.onfocus=function(){ document.title= 'focus:' + Math.random() ; } </script> </body>
Time of Update: 2013-10-16
開發工具中應該有相應的功能,於是測試之: 前提:只是一個簡單的小測試,而且 addEventListener 屬於標準綁定函數,IE 中與此不相容(IE 相應的是 attachEvent),所以此次測試先拋棄 IE,使用 Firefox 5.0.1, Chrome 14.0, Opera 11.50 測試頁面: 複製代碼 代碼如下: <!DOCTYPE html> <html> <head> <title>Test</title>
Time of Update: 2013-10-16
直接上代碼: 方案一: 楓芸志 » 文字框textarea高度自適應增長/伸縮 晴楓製作 http://jb51.net [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 方案一在各瀏覽器中,文字框隨內容自適應增長都沒有問題;但在刪除內容時收縮方面表現有所差異,IE、Opera表現正常,Firefox、Chrome、Safari不會收縮。原因是文字框內容高度小於文字框高度時scrollHeight值等於文字框高度,而不是文字框內容高度。
Time of Update: 2013-10-16
JS繼承 JavaScript中沒有類的概念,與類相關的繼承的概念更是無從談起,但是我們可以通過特殊的文法來 類比物件導向語言中的繼承。 在JS中類比繼承有多種方式,其中寄生組合模式是一種比較容易簡單的類比繼承模式,下面我們就來 介紹一下用寄生組合模式類比繼承。 JS的繼承包括屬性的繼承和方法的繼承,他們分別通過不同的方法來實現。 1屬性的繼承 屬性的繼承通過改變函數的執行環境來實現的。而改變函數的執行環境可以使用call()和apply()兩種 方法來實現。 我們首先建立一個Animal“類”
Time of Update: 2013-10-16
要達到的效果 很多情況下我們都會即時監聽輸入框值的變化,以便作出即時動作去引導瀏覽者增強網站的使用者體驗感。比如即時顯示輸入框已經被輸入的位元組數,或者即時讀取輸入的值來進行搜尋引導,也就是google的關聯搜尋效果等。 只要我們能捕獲即時事件就能做到很多事情。 需要瞭解的知識 首先,我們需要瞭解onchange和onpropertychange的不同: IE下,當一個HTML元素的屬性改變的時候,都能通過 onpropertychange來即時捕獲。