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
分享下javascript判斷檔案是否存在的方法。1,判斷用戶端檔案時,可以用var fso,s=filespec; // filespec="C:/path/myfile.txt"fso=new ActiveXObject("Scripting.FileSystemObject");if(fso.FileExists(filespec))s+=" exists.";else // www.jb51.nets+=" doesn't
Time of Update: 2017-01-19
本文就javascript函數定義的常見問題進行了總結。包含了初學者常犯的錯誤。分享給大家供大家參考。具體總結如下:1. 函式宣告的同時JS引擎還定義了一個與函數名同名的變數,我們在調用這個函數的時候實際上是在使用這個變數,且它可以在函式宣告之前調用,例如foo(); //這裡實際上是使用了一函數變數 function foo() { alert('hello'); } 2. 函數運算式,此時將匿名函數賦值給了一變數,此變數需在定義後使用,例如foo(); //報錯,未定義 var foo
Time of Update: 2017-01-19
本文詳細講述了JavaScript的各種常見函數定義方法,分享給大家供大家參考。具體分析如下:首先看一下JavaScript最常見的四種函數定義:用Function建構函式定義的函數,代碼如下:var multiply = new Function('x', 'y', 'return x * y;');函式宣告,這種方式也是最為常見的一種:function multiply(x, y) { return x * y;}函數運算式,聲明為匿名函數然後賦值給一變數,很常見的方式:var
Time of Update: 2017-01-19
這是一篇簡單的文章,關於JavaScript數組使用的一些技巧。我們將使用不同的方法結合/合并兩個JS數組,以及討論每個方法的優點/缺點。讓我們先考慮下面這情況: 複製代碼 代碼如下:var a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ];var b = [ "foo", "bar", "baz", "bam", "bun", "fun" ];很顯然最簡單的結合結果應該是:複製代碼 代碼如下:[ 1, 2, 3, 4, 5, 6, 7, 8,
Time of Update: 2017-01-19
先說說undefined:Javascript中的變數是弱類型的, 所以聲明變數的時候只需使用var關鍵字即可。如果是像C這樣的強型別語言, 聲明變數的時候如果沒有指定初始值,那麼會給他一個預設值,比如int變數的預設值是0。但是在Javascript這樣的弱類型語言中,沒有辦法確定到底該給這樣的變數一個什麼樣的預設值,比如我聲明一個變數var v1;是給他false還是0,或者是'' ?因為沒有類型,所以無法確定。
Time of Update: 2017-01-19
本文來論述JavaScript中變數聲明有var和沒var的區別,關於Js中的變數聲明的範圍是以函數為單位,所以我們經常見到避免全域變數汙染的方法是(function(){ // ... })();在函數內部,有var和沒var聲明的變數是不一樣的。有var聲明的是局部變數,沒var的,聲明的全域變數,所以可以藉此向外暴露介面東東。 在全域範圍內聲明變數時,有var
Time of Update: 2017-01-19
arguments 對象在函數代碼中,使用特殊對象 arguments,開發人員無需明確指出參數名,就能訪問它們。例如,在函數 sayHi() 中,第一個參數是 message。用 arguments[0] 也可以訪問這個值,即第一個參數的值(第一個參數位於位置 0,第二個參數位於位置 1,依此類推)。因此,無需明確具名引數,就可以重寫函數:function sayHi() {if (arguments[0] == "bye")
Time of Update: 2017-01-19
[1,2,3]. length 可以得到 3 , "123" . length 也可以得到 3 ,這個略懂js的都知道。但是 eval. length ,RegExp. length ,"".toString. length ,1..toString. length 會得到什麼呢?分別得到 1 , 2 , 0 , 1 ,這些數字代表什麼呢?其實函數的 length 得到的是形參個數。我們來簡單看個例子:function test(a,b,c) {}test.length //
Time of Update: 2017-01-19
排序的方法有很多,本節介紹的是使用數組的push方法完成快速排序function quickSort(arr){ if(arr.length <= 1) return arr;//判斷是否有效數組 var cut = Math.floor(arr.length/2);//取中間下標 var left = [],right = []; var num = arr.splice(cut,1)[0];//取基準值 for(var i = 0;i < arr.length;i ++){
Time of Update: 2017-01-19
<!DOCTYPE html><html><head><meta charset="utf-8"><style>button {background-color:#0f0;}</style></head><body><button id="button"> 按鈕 </button><input type="text"><script>var
Time of Update: 2017-01-19
最簡單粗暴的方式就是載入網路資源,JS檔案或者圖片檔案。複製代碼 代碼如下:<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>typeof window.jQuery === "undefined" // return false or ture用jQuery變數來檢測是否連網function doConnectFunction() { return
Time of Update: 2017-01-19
這裡所說的縮放不是指瀏覽器大小的縮放,而是指瀏覽器網頁內容的百分比縮放(按Ctrl和+號鍵或者-號鍵的縮放)。檢測這種縮放有很種方法,QQ空間都通過flash來檢測瀏覽器是否處於縮放。這裡提供javascript的方法來檢測瀏覽器的縮放。對於 IE6,就直接無視了,因為 IE6 只能對文本進行縮放。先來說說瀏覽器提供的標準檢測介面,window.devicePixelRatio 是裝置上物理像素和裝置獨立像素的比例,該屬性就可以用於檢測網頁是否被縮放了。在普通的 PC
Time of Update: 2017-01-19
首先說下null與undefined區別:對已聲明但未初始化的和未聲明的變數執行typeof,都返回"undefined"。null表示一個Null 物件指標,typeof操作會返回"object"。一般不顯式的把變數的值設定為undefined,但null相反,對於將要儲存對象的變數,應明確的讓該變數儲存null值。var bj;alert(bj); //"undefined"bj = null;alert(typeof bj); //"object"alert(bj == null); //
Time of Update: 2017-01-19
問題描述使用JavaScript的split方法拆分字串時出現一些Null 字元串"",尤其是當使用Regex作為分隔字元的時候。相關問題javascriptRegex對字串分組時產生Null 字元串組?在上面這個問題中,題主使用Regex對字串進行分割時產生了多個Null 字元串"",代碼如下:複製代碼 代碼如下:'張sdf四上法asdf翁芬aa33網s'.split(/([\u4e00-\u9fa5]{1})/gi);//輸出["", "張", "sdf", "四", "", "上", ""
Time of Update: 2017-01-19
需求描述:從一組數組中找出一組按不同順序排列的字串的數組元素。假如有這樣一個數組:複製代碼 代碼如下:[ 'abcd', 'hello', 'bdca', 'olleh', 'cadb', 'nba', 'abn', 'abc' ]需要找出的結果是:複製代碼 代碼如下:[ 'abcd', 'bdca', 'cadb' ]那麼這裡的關鍵點是判斷一組字串是否是否只是字元的順序不同,只要解決整個關鍵點其他都好辦了。方法1:複製代碼 代碼如下:var stringClassify = function(
Time of Update: 2017-01-19
當獲焦時,文本消失,失焦時文本出現<!doctype html><html><head><meta charset="utf-8"><title>無標題文檔</title></head><body><input id="text" type="text" value="點我就消失"/><script>var
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 Array 的API,在JavaScript 中 數組 本身就非常強大,可以儲存任意類型,且長度自動擴容,又提供 遍曆, 過濾,等多個運算元組的方法。簡直完爆Java的的數組(長度固定,單一類型)。而Java中的集合類 就是彌補數組不足,其底層大多使用Object [] 儲存,只是提供動態擴容的策略,當然JDK的 API 之豐富,是其他語言難以匹敵的。但是不妨礙我對Java、JavaScript的喜愛。Java就像 一個中年老婦女,你總能在JDK中 看到她的