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
關於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
JavaScript 沒有一個權威的編碼風格指南,取而代之的是一些流行的編碼風格:複製代碼
Time of Update: 2017-01-19
之前記錄過JavaScript中判斷為數字類型的多種方式,這篇看看如何判斷為整數類型(Integer)。JavaScript中不區分整數和浮點數,所有數字內部都採用64位浮點格式表示,和Java的double類型一樣。但實際操作中比如數組索引、位操作則是基於32位整數。方式一、使用取餘運算子判斷任何整數都會被1整除,即餘數是0。利用這個規則來判斷是否是整數。複製代碼 代碼如下:function isInteger(obj) { return obj%1 ===
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
一、為什麼JavaScript是單線程?JavaScript語言的一大特點就是單線程,也就是說,同一個時間只能做一件事。那麼,為什麼JavaScript不能有多個線程呢?這樣能提高效率啊。JavaScript的單線程,與它的用途有關。作為瀏覽器指令碼語言,JavaScript的主要用途是與使用者互動,以及操作DOM。這決定了它只能是單線程,否則會帶來很複雜的同步問題。比如,假定JavaScript同時有兩個線程,一個線程在某個DOM節點上新增內容,另一個線程刪除了這個節點,這時瀏覽器應該以哪個線
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 for Automation Release Notes (預覽版),引起社區的廣泛關注,討論的普遍共識是,這是一個替代/補充的AppleScript的實驗性嘗試。AppleScript的前身是Hypercard所使用的指令碼語言Hypertalk。蘋果發現Hypertalk類似英語的文法,可用於操控其他軟體,於是開發出AppleScript,成為System 7的一部份。 AppleScript亦從蘋果經典作業系統過渡到Mac OS X及Cocoa架構。
Time of Update: 2017-01-19
隨著JavaScript程式變得越來越複雜,往往需要一個團隊協作開發,這時代碼的模組化和組織規範就變得異常重要了。MVC模式就是程式碼群組織的傳統模式。(……MVC介紹。)(1)ModelModel表示資料層,也就是程式需要的資料來源,通常使用JSON格式表示。(2)ViewView表示表現層,也就是使用者介面,對於網頁來說,就是使用者看到的網頁HTML代碼。(3)ControllerController表示控制層,用來對未經處理資料(Model)進行加工,傳送到View。由於網頁編程不同於用戶
Time of Update: 2017-01-19
在哪裡放置 JavaScript 代碼?通常情況下,JavaScript 代碼是和 HTML 程式碼一起使用的,可以將 JavaScript 代碼放置在 HTML 文檔的任何地方。但放置的地方,會對 JavaScript 代碼的正常執行會有一定影響,具體如下所述。放置於<head></head>之間將 JavaScript 代碼放置於 HTML 文檔的 <head></head> 標籤之間是一個通常的做法。由於 HTML