Time of Update: 2017-01-19
"快速排序"的思想很簡單,整個排序過程只需要三步: (1)在資料集之中,找一個基準點 (2)建立兩個數組,分別儲存左邊和右邊的數組 (3)利用遞迴進行下次比較看一個demo:http://jsdo.it/norahiko/oxIy/fullscreen(網頁開啟可能較慢,慢慢等待吧)<script type="text/javascript"> function quickSort(arr){ if(arr.length<=1){ return
Time of Update: 2017-01-19
請在此暫時忘記之前學到的物件導向的一切知識。這裡只需要考慮賽車的情況。是的,就是賽車。 最近我正在觀看 24 Hours of Le Mans ,這是法國流行的一項賽事。最快的車被稱為 Le Mans 原型車。這些車雖然是由“奧迪”或“標緻”這些廠商製造的,可它們並不是你在街上或速公路上所見到的那類汽車。它們是專為參加高速耐力賽事而製造出來的。 廠家投入巨額資金,用於研發、設計、製造這些原型車,而工程師們總是努力嘗試將這項工程做到極致。他們在合金、生物燃料、制動技術、
Time of Update: 2017-01-19
事件觸發程序從字面意思上可以很好的理解,就是用來觸發事件的,但是有些沒有用過的朋友可能就會迷惑了,事件不是通常都由使用者在頁面上的實際操作來觸發的嗎?這個觀點不完全正確,因為有些事件必須由程式來實現,如自訂事件,jQuery的ajax架構的一些自訂事件就必須由事件觸發程序來實現。當然,在一些特殊情況下,用事件觸發程序來觸發事件比使用者的實際操作來觸發事件更方便。對於實現事件觸發程序,瀏覽器都有原生的方法來支援,但是在相容性上又有很大的出入,這種相容性的問題完全在意料之中,IE有自己的方法,其他標
Time of Update: 2017-01-19
有時會碰上這種需求,需要將數組中重複的元素刪除掉,而只保留一個。最先想到的辦法很可能就是用2個for迴圈來做比較然後去除掉重複的元素,代碼如下所示:方法1:複製代碼 代碼如下:Array.prototype.distinct = function(){ var arr = [], len = this.length; for ( var i = 0; i < len; i++
Time of Update: 2017-01-19
我們都見到過這些效果,用滑鼠滾輪實現某個表單內的數字增加減少操作,或者滾輪控制某個按鈕的左右,上下滾動。這些都是通過js對滑鼠滾輪的事件監聽來實現的。今天這裡介紹的是一點簡單的js對於滑鼠滾輪事件的監聽。不同瀏覽器不同的事件首先,不同的瀏覽器有不同的滾輪事件。主要是有兩種,onmousewheel(firefox不支援)和DOMMouseScroll(只有firefox支援),關於這兩個事件這裡不做詳述,想要瞭解的朋友請移步:滑鼠滾輪(mousewheel)和DOMMouseScroll事件。另
Time of Update: 2017-01-19
關於js中的事件監聽大家用的比較多了,無非是判斷瀏覽器是否支援addEventListener和attachEvent,網上搜尋關於事件監聽的方法也挺多,但是總有些不是很完善。下面的方法中對於添加事件監聽的方法是一樣的,只不過在取消事件綁定上面做了點手術,現在可以支援匿名函數的使用,所以在綁定事件的時候不再需要給函數單獨命名了。主要代碼:複製代碼 代碼如下:/*綁定事件與取消綁定*/var handleHash = {};var bind = (function() { if
Time of Update: 2017-01-19
一、基本的類的使用方法一:複製代碼 代碼如下:function sth(a) // 建構函式 { this.a = a; this.fun = output; // 成員函數 } function output(a, b, c) { document.write(this.a); } //調用var s = new sth(250); s.fun(1, 2, 3); ouput(1, 2, 3); //如果output在sth之前就是錯的方法二:複製代碼
Time of Update: 2017-01-19
上次根據網上的教程給自己的網站弄了一個Web APP,但是給使用者的感覺卻十分糟糕。問題說明:怎麼了?原來是開啟WEB APP後在首頁上隨意開啟串連,就會自作主張地開啟Safari瀏覽器。原來好好的偽裝和心情就全被破壞掉了。這該如何是好?原來解決方案十分簡單。僅僅加入這些代碼就好了。實驗測試在本人的 iPhone (iOS 7.1)和iPod (iOS 6.1.4)上測試通過,根據原作者的敘述,最新的 iOS 7.0.4(iPhone 與
Time of Update: 2017-01-19
最近在寫一個Javascript的架構,剛把DOMContentLoaded事件封裝好,略帶小興奮,把開發過程中遇到的原理和相容性問題做篇筆記,省的忘記到處找。我們在寫js代碼的時候,一般都會添加window.onload事件,主要是為了在DOM載入完後可以使用getElementById,getElementsByTagName等方法選取DOM元素進行操作,但是window.load會等到載入完DOM、指令碼、CSS,最後載入完圖片甚至是iframe中的所有資源才會觸發,很多時候網頁的圖片較多
Time of Update: 2017-01-19
背景javascript中使用addEventListener()或attachEvent()綁定事件時會有幾個小問題:一、使用addEventListener()或attachEvent()添加的匿名函數無法移除。複製代碼 代碼如下:var oBtn = document.getElementById('btn');oBtn.addEventListener('click',function(){ alert('button is
Time of Update: 2017-01-19
在上一篇文章中,介紹了原型的概念,瞭解到在javascript中建構函式、原型對象、執行個體三個好基友之間的關係:每一個建構函式都有一個“守護神”——原型對象,原型對象心裏面也存著一個建構函式的“位置”,兩情相悅,而執行個體呢卻又“暗戀”著原型對象,她也在心裡留存了一個原型對象的位置。javascript本身不是物件導向的語言,而是基於對象的語言,對於習慣了其他OO語言的人來說,起初有些不適應,因為在這裡沒有“類”的概念,或者說“類”和“執行個體”不區分,更不要指望有“父類”、“子類”之分了。那
Time of Update: 2017-01-19
我記得在剛開始接觸動態HTML及JavaScript時就接觸過關於滑鼠右鍵屏蔽的指令碼代碼,當時這些代碼很多會用在防止瀏覽者未經允許的複製網頁上的文字或者其他內容,後來的實際應用證明這種做法是不符合使用者體驗的,而且破解的方法也有很多,比如我曾經寫過一篇文章講解如何解除網頁禁止複製的辦法。由此可見,限制右鍵及複製是不明智的做法,但是今天我仍然要談談關于禁止網頁複製、右鍵菜單的事兒,因為隨著網頁APP技術的發展,網頁應用和案頭應用之間的界限越來越模糊,有一些傳統型程式實際上是由網頁配合JavaSc
Time of Update: 2017-01-19
複製代碼 代碼如下: function dealNull(obj){ for(var i in obj){ if(null == obj[i] || 'null' == obj[i]){ obj[i]=''; }else if('object' == typeof obj[i]){ dealNull(obj[i]); } } }; // 測試的對象 var a={}; a.aa=null; a.bb='null'; a.c=1; a.b={}; a.b.aaa=null;
Time of Update: 2017-01-19
使用範圍: OA、MIS、ERP等資訊管理類的項目,暫時不考慮網站。遇到的問題: 完成一個項目,往往需要引用很多js檔案,比如jQuery.js、easyUI等。還有自己寫的一些列js檔案,那麼這些檔案如何方便的載入,如果檔案有變化如何才能讓用戶端及時更新緩衝?如果能夠提高點運行效率,那就更好了。目標:1、 可以方便的引用js檔案。2、 盡量使用各種緩衝,避免頻繁從伺服器讀取檔案。3、 如果js檔案有更新或者增加、減少幾個減少js檔案,需要用戶端能夠自動、
Time of Update: 2017-01-19
1、說明 經常會出現這樣的情況,頁面的日期格式是:YYYY-MM-DD,而資料庫中的日期格式是:YYYYMMDD,兩者之間需要轉換一下,方能傳到Java後台查詢資料。 通常,這種轉化的方法有兩種,第一種,將日期文字先截取,然後拼接;第二種,就是利用Regex去掉“-” 相比較而言,第二種方法快捷,不容易出錯。 2、實現源碼 複製代碼 代碼如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> &
Time of Update: 2017-01-19
此執行個體是我一遍學習一邊寫出來的,希望能夠幫到大家,一起學習。效果如圖所示:html代碼如下所示:複製代碼 代碼如下:<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>圖片瀏覽工具製作</title> <script
Time of Update: 2017-01-19
自己用的載入js檔案,支援多檔案,不相容ie複製代碼 代碼如下:/** * 載入js檔案 * @param {string || array} url js路徑 * @param {Function} fn 載入完成後回調 * @return
Time of Update: 2017-01-19
整數類型(Integer)在JavaScript經常會導致一些奇怪的問題。在ECMAScript的規範中,他們只存在於概念中:所有的數字都是浮點數,並且整數只是沒有一組沒有小數的數字。在這篇部落格中,我會解釋如何去檢查某個值是否為整型。ECMAScript
Time of Update: 2017-01-19
javascript和動態網頁無法擷取cookie到期的時間,到期時間由瀏覽器管理,javascript和動態網頁只能設定到期時間,無法通過document.cookie(javascript)或者Cookie.Expires(asp.net)屬性擷取到。複製代碼 代碼如下:<%@page language="C#" Debug="true"%><script runat="server"> protected void
Time of Update: 2017-01-19
隨著JavaScript程式變得越來越複雜,往往需要一個團隊協作開發,這時代碼的模組化和組織規範就變得異常重要了。MVC模式就是程式碼群組織的傳統模式。(……MVC介紹。)(1)ModelModel表示資料層,也就是程式需要的資料來源,通常使用JSON格式表示。(2)ViewView表示表現層,也就是使用者介面,對於網頁來說,就是使用者看到的網頁HTML代碼。(3)ControllerController表示控制層,用來對未經處理資料(Model)進行加工,傳送到View。由於網頁編程不同於用戶